美文网首页h5h5亮宝前端学习室
前端|本地调试H5页面方案总结

前端|本地调试H5页面方案总结

作者: 重学前端MDN | 来源:发表于2017-06-21 18:51 被阅读4909次

    摘要

    详细讲述微信H5页面调试(安装在安卓或iOS手机上的),钉钉内H5页面的调试,QQ、微博以及各浏览器上H5页面的调试方法

    背景

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

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

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

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

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

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

    需求:

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

    难点:

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

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

    解决方案(适用于Mac,未在Windows平台验证):

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

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

    (3)打开 USB 调试选项

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

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

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

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

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

    解决办法(适用于Mac,未在Windows平台验证):

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

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

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

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

    二.复杂网络、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,按如图所示方式安装根证书

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

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

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

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

    --------------------------更新--------------------------

    调试工具还有xcode和微信web开发者工具(上文讲的是微信开发者工具,两者不同)

    1. xcode

    Xcode 是运行在操作系统Mac OS X上的集成开发工具(IDE),由苹果公司开发。Xcode是开发OS XiOS应用程序的最快捷的方式。

    它有iOS系统模拟器,能够结合上边的用Safari调试iPhone手机上的页面的方式调试模拟器中任何app打开的页面。

    以钉钉调试为例,请看文档  钉钉调试文档

    2.微信web开发者工具

    下载链接:微信web开发者工具下载链接   (这个链接还真不好找,百度 bing搜到的结果都是微信开发者工具的下载链接)

    如图,这是一个非常强大的工具,即可以调试安卓手机的页面也可以调试iOS手机上的页面,,,用这个工具可以调试各浏览器上的页面,微博里的h5页面或者QQ客户端里的h5页面

    相关文章

      网友评论

      • 一个小小的蚂蚁:公司竟然全是mac啊
      • 神中枭雄:楼主分享的"通过Chrome调试安卓机上的H5页面"在windows上可以,本人已验证。

        在mac上调试安卓机的时候,发现能识别app的webview,但是点击inspect出现的窗口是白屏,查看element发现里面是个空白页,而不是需要调试的手机h5页面,楼主貌似没有遇到这个问题,麻烦指导下,谢了!
        重学前端MDN:@神中枭雄 还真没遇到过这个问题,我调试安卓我都是Mac+chrome
        神中枭雄: @程序媛Sherry app可以debug的,我在window+chrome能成功dubug
        重学前端MDN:@神中枭雄 说明你们的app设置的不能debug,得让你们app开发人员打开debug功能
      • Darling_Z:lihai!
      • 363ae9c29ac3:貌似chrome调试微信H5需要微信扫描0.7版本的开发者工具的本地调试二维码,开启X5内核的inspect选项,是不是还需要有公众号的开发者权限
      • 58b889423ba5:请问h5页面如何配置https自签名证书?
        重学前端MDN:@1canu 诶,你咋知道我是山东的
        25e76eb3c6db:给山东妹子点个赞:+1:
        重学前端MDN:@一个人失忆了 你是说装Charles根证书吗
      • jiaomeichen:普通h5页面不可以么
        重学前端MDN:你是调试app里的吗
        jiaomeichen:@程序媛Sherry 能看到链接 但是点击inspect 不出东西 是怎么回事
        重学前端MDN:可以呀 上边几种方法灵活应用哈
      • chenxin2017:在chrome里输入了chrome://inspect后怎么样没有看到文章页面的链接
        重学前端MDN:chrome://inspect#device
        重学前端MDN:你调试的是你们公司的APP里的页面吗?如果是,也可能APP的webview没有开启调试功能,就不可调试
        重学前端MDN:你手机连到电脑没?是按上边的步骤做的吗?
      • 099763990cf3:没有mac咋办
        099763990cf3:@程序媛Sherry 公司穷没有mac:joy:
        重学前端MDN:@夏沫breathe 在windows上用的基本也是这些工具,思路应该一样,细节应该大同小异
        重学前端MDN:@夏沫breathe 之后我会补充windows版本的,可能需要时间长点,周围没有windows电脑:mask:

      本文标题:前端|本地调试H5页面方案总结

      本文链接:https://www.haomeiwen.com/subject/anmtcxtx.html