HappyBlog 2019-06-27
要看干货的,可跳过该“说在前头”章节
该类文章,百度上“一挖一麻袋”,但说句不好听的,“一个能打的都没有”,总结如下:
吓得我赶紧放了一张老婆镇楼
既然写了这篇文章,说明这类问题都已经解决了,那我们言归正传,讲讲我们要 实现什么?
chrome-devtools对IOS移动端的H5页面进行调试
简单来说,就是 ——
有人问了
Q:我移动端的H5页面一样可以放到PC端的chrome下进行调试啊,为什么要调试真机呢?比如:
A:这个还是要看需求的,如果你的业务不需要,自然也就不需要了,举个栗子:
-------------------
我全放在github集成了,开不开心,please star,fork
github:chrome_ios_safari_ios-webkit-debug-proxy
这里最好“Download ZIP”,下拉不知道要拉几年
当然为了防止“Download ZIP”也很慢,所以我把文件的源地址在这儿逐一列出,可自行分别下载,都是必须的
TIPS:谷歌为45版本是有原因的,当然最新的也可以,后面会讲,总归会麻烦一点
当然如果失效的话,来我github里慢慢down,(^▽ ^)
-------------------
设置 > Safart浏览器 > 高级 > 打开Web检查器
如下图:
-------------------
iphone连接上PC后,会有“是否信任该计算机”的提示,都按确认,iTunes也将会检索到该iphone设备。有以下图,则说明连接成功。
-------------------
例如,我是解压在F盘的,放个图观摩下
打开cmd,进入该盘下,执行以下命令
ios_webkit_debug_proxy -f chrome-devtools://devtools/bundled/inspector.html
出现以下提示,则连接成功!
-------------------
上面说到端口监听为9221,则打开chorme45输入http://127.0.0.1:9221/
点击“逗逗”(也就是你的设备),你会发现里面是空白的,说明你还没有打开H5页面,用safari打开一个H5页面,刷新chrome,就会发现多了几条数据
划重点,你对你需要调试的页面,进行审查元素,我这边举例调试“百度”
将该地址复制到地址栏,则进入调试界面!
宁哥!宁哥!哦,走错片场了。
控制台输入
alert('Hello World!')
移动端弹出,成功
控制台死活按不下去的,说的就是你,高版本chrome,等会聊
我们对“百度一下”这个btn进行一个DIY的绑定,试试控制台是否真的好用
点击ios上的“百度一下”,果然弹出了true,OK
接下来,我们试试断点,点进我们刚才绑定的方法,进入chrome缓存中,进行断点调试
点击“百度一下”,发现进不去!接下来就是黑科技 ——
再点击“百度一下”发现进来了!输入this,返回的就是当前btn dom元素
在此鼓掌(^▽ ^)
你说你怎么知道这儿有效的?......一口老血,一把辛酸泪
-------------------
问题描述:chrome其他版本,也一样只需要双击右上角的断点箭头,就能debugger调试,不过控制台却死活按不下去
解决方案:按F12,控制台有一堆抛错,每次控制台回车,右边会增加一条error提示
点击控制台抛错提示,将该行判断“if(error){console.error(error) ......”改成“if(!error){console.error(error)......”
也就是把它非掉,然后ctrl+s解决问题。
TIPS:如果被刷新的话,又得重来,就这点来说,并不是很方便。
在这儿,请教一下大神,有没有方式可让inspector.js永久映射到workspace,解决刷新重来的方式
问题描述:chrome下出现“Detached from the target”字样,调试中止
解决方案:cmd开启的服务“ios_webkit_debug_proxy”重开,清除chrome缓存,重启chrome解决,以及不要干一些黑操作,该调试页面极不稳定。
问题描述:执行“ios_webkit_debug_proxy -f chrome-devtools://devtools/bundled/inspector.html”该语句时,如下展示
没有连接设备的响应,或返回error,warn等提示未有设备连接
解决方案:查看iTunes是否连接上你的设备,重新插拔一下USB接口,重启服务乃至重启电脑进行尝试,如仍不行,请下载其他版本进行尝试
github:google/ios-webkit-debug-proxy
TIPS:要注意的是,如果这步已经跪了,那打开chrome输入9221的端口也一定是空白页。
问题描述:在30-版本的情况下,无法调出inspector.html调试页面
解决方案:30+版本,已经废弃devtools.html页,30以下chrome应在url中输入
chrome-devtools://devtools/devtools.html?ws=localhost:9222/devtools/page/1
则进入调试页。
TIPS:page/1与9222是端口9221中审查dom元素内的传值,应保持一致。
-------------------
make:o︻そ╆OVE▅▅▅▆▇◤(清一色天空)
blog:http://blog.csdn.net/mcky_love
掘金:https://juejin.im/user/59fbe6...
lofter:http://zcxy-gs.lofter.com/
github:https://github.com/gs3170981?...
鬼知道我尝试了多少个解决方案,下载了多少个chrome版本,那些无用的文章写出来,加上一堆的分享党占屏百度首页
也难怪说,谷歌是最好的搜索引擎,心酸。