背景

大学毕业快要一年了,用leader的话说我也是有一年开发经验的前端开发工程师了,输出是检验输入的最好方法,那我就慢慢来总结这一年来在工作中总结的经验教训,分享给大家,有不专业和不完善的地方,请大家多多指点反馈,比心~

做过一段时间的运营需求,一些主要在手机上浏览的页面,遇到的最大问题是调试的问题:

对于简单的网络、APP环境的调试,我们可以通过Chrome调试安卓机上的H5页面,通过Safari调试iPhone上的H5页面

对于一些复杂的网络、App环境的调试,如需要调试 HTTPS协议的接口,或必须要在某些 App 中才能调用的jsBridge 接口(如微信),导致难以在本地建立开发环境,需要将代码发到测试环境等之后才能调试,导致开发效率低下

本文将介绍一些可用的本地开发调试方法,提高你的开发效率,嘿哈~。

一.简单网络、APP环境的调试

需求:

调试嵌入App(Webview组件处于可调试状态)的H5页面,此H5页面调用了jsBridge接口(例如jockey接口)

难点:

H5调用了App的jsBridge接口,则此H5页面只能在此App里打开

1.通过Chrome调试安卓机上的H5页面

解决方案:

(1)安装Chrome 32或者之后的版本

(2)使用USB线将安卓机和Mac连接起来

(3)打开 USB 调试选项

在安卓设备上,进入设置>开发者选项>打开USB调试 (注意:在安卓 4.2 及以后的版本中,默认情况下开发者选项是隐藏的。要启用开发者选项,选择设置>关于手机然后点击版本号7次。)。

windows上h5开发ios样式调式 h5页面调试_windows上h5开发ios样式调式

(4)在电脑端的Chrome里,在地址栏输入chrome://inspect。进入后确认Discover USB devices已经勾选了:

windows上h5开发ios样式调式 h5页面调试_windows上h5开发ios样式调式_02

(5)在你的设备上,打开要浏览的页面,会跳出一个弹框,询问你是否要允许在电脑端进行USB调试。选择确定。

windows上h5开发ios样式调式 h5页面调试_微信_03

(6)点击chrome://inspect/#devices 页面上的inspect便可以审查安卓机上的H5页面的元素了

windows上h5开发ios样式调式 h5页面调试_H5_04

2.通过Safari调试iPhone上的H5页面

解决办法:

(1)运行Safari,点击“Safari”菜单下面的“偏好设置(Preferences…)”,切换到“高级选项(Advanced)”:

windows上h5开发ios样式调式 h5页面调试_微信_05

(2)勾选“在菜单栏显示”开发”菜单(ShowDevelop menu in menu bar)”,关闭偏好设置。此时在Safari的工具栏出现“开发(Develop)”菜单:

windows上h5开发ios样式调式 h5页面调试_微信_06

(3)使用USB线将iPhone和Mac连接起来

(4)在iPhoneSafari打开要调试的H5页面,便可以调试了

windows上h5开发ios样式调式 h5页面调试_微信_07

二.复杂网络、APP环境的调试

需求:

在微信中调试H5页面的微信分享功能,http://m.signature.cn数字签名生成服务使用https协议通信(比如 https://io.signature.cn),数字签名服务只允许*.signature.cn访问

难点:

(1)必须在*.signature.cn环境下进行调试,否则无法访问用来签名的https://io.signature.cn服务

(2)io.signature.cn服务使用https协议通信,中间难以通过代理拦截

(3)分享相关微信jsBridge接口,只在微信App中存在,无法在本地开发环境调用

解决办法(适用于Mac):

(1)下载安装微信Web开发者工具,从这里https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html

(2)下载并安装 Charles,从这里http://xclient.info/s/charles.html

(3)打开Charles,按如图所示方式安装根证书

windows上h5开发ios样式调式 h5页面调试_App_08

(4)在Proxy -> SSL Proxying Settings 中,加入 *.signature.cn 域名

windows上h5开发ios样式调式 h5页面调试_微信_09

(5)在Tools -> Map Local 功能中,加入需要代理到本地的线上 URL 到 本地文件夹的对应关系

windows上h5开发ios样式调式 h5页面调试_App_10

(6)在微信开发者工具中,设置代理到 Charles 端口

windows上h5开发ios样式调式 h5页面调试_windows上h5开发ios样式调式_11

(7)在微信开发者工具中,打开线上地址,可以看到 js 文件已经被替换,这时候可以在同时有线上 API 和微信 jsBridge 的环境下进行调试

windows上h5开发ios样式调式 h5页面调试_微信_12