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

摘要:
我们可以通过Chrome在Android上调试H5页面,通过Safari在iPhone上针对一些复杂的网络和应用程序环境调试H5页,并调试嵌入在应用程序中的H5页面(Webview组件处于可调试状态),然后此H5页面只能在该应用程序中打开。1.通过Chrome解决方案在Android上调试H5页面:(1)安装Chrome 32或更高版本(2)使用USB电缆连接Android和Mac(3)在Android设备上打开USB调试选项。

背景

大学毕业快要一年了,用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次。)。

【前端】本地调试H5页面方案总结第1张

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

【前端】本地调试H5页面方案总结第2张

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

【前端】本地调试H5页面方案总结第3张

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

【前端】本地调试H5页面方案总结第4张

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

解决办法:

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

【前端】本地调试H5页面方案总结第5张

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

【前端】本地调试H5页面方案总结第6张

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

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

【前端】本地调试H5页面方案总结第7张

二.复杂网络、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,按如图所示方式安装根证书
【前端】本地调试H5页面方案总结第8张

(4)在Proxy -> SSL Proxying Settings 中,加入 *.signature.cn 域名
【前端】本地调试H5页面方案总结第9张

(5)在Tools -> Map Local 功能中,加入需要代理到本地的线上 URL 到 本地文件夹的对应关系
【前端】本地调试H5页面方案总结第10张

(6)在微信开发者工具中,设置代理到 Charles 端口
【前端】本地调试H5页面方案总结第11张

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

【前端】本地调试H5页面方案总结第12张

原文链接: http://www.jianshu.com/p/a43417b28280

免责声明:文章转载自《【前端】本地调试H5页面方案总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux shadow文件中密码的加密方式测评国内免费网站监控服务下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

express 如何定义生产和开发环境

express 默认是开发环境。 'view cache' 这个属性不会缓存url。 也就是说项目启动后 如果更改views下的目录或路由。 继续访问原先url 就会报错 通过 console.log(process.env.NODE_ENV) 可以验证自己是在什么环境 development(开发)production(生产) 按自己需求替换 1 在代码...

同一微信开放平台下 unionid 作用。

UnionID 机制说明 如果开发者拥有多个移动应用、网站应用、和公众账号(包括小程序),可通过UnionID 来区分用户的唯一性,因为只要是 同一个微信开放平台账户下的移动应用、网站应用和公众账号(包括小程序),用户的UnionID是唯一的。 换句话说、同一用户,对同一微信开放平台下的不同应用、unionid是相同的。 小程序关联到同一个公众号下就...

.net framework 4.5为啥在IIS中找不到了

今天心血来潮,下了个VS2012安装玩玩,整个过程很傻瓜化,一切是那么的顺呀!   有一点需要注意,VS2012中的组件安装都是集成在一起的,这不像2010以及之前版本,你不会在控制面板中看到一大堆的安装组件出现,这也包括了MVC4。如果你之前独立安装过MVC4的beta或RC版本,那你安装的只是对Vs2010有用,和2012种的没有半毛的关系,也就是说...

SwitchHosts—hosts管理利器

http://www.cnblogs.com/1024zy/p/5951524.html SwitchHosts是一个管理、快速切换Hosts小工具,开源软件,一键切换Hosts配置,非常实用,高效。开发Web过程成,部署有多套环境,网址域名都相同,部署在不同的服务器上,有开发环境、测试环境、预发布环境、生产环境。经常要切换Hosts来访问,测试以及验证...

macOS 系统更新node老是不成功

 使用网上的方法,更新macOS系统上的node,总是不成功。   每次打开新的终端,node -v 都会显示之前的版本v8.11.4。。咋回事!!!     【方法】:    直接卸载 node(要卸载干净!)         但是通过 终端的命令行也难以卸载干净:MacOS X 10.10卸载Node      试了这个方法也不行:mac安装nod...

springboot配置idea 热部署

背景: 在开发中,当我们修改代码之后,每次都要重新启动,很是浪费时间,在springboot中就有一种热部署方式,可以实现想要修改不需要每次都重新启动,保存即可生效 用法: 一、maven 添加   二、添加编译时候的配置 如下的配置在idea的springBoot项目中可以不需要添加,因为springBoot项目中已经默认有了此配置(亲测没有...