原文出处: 盛瀚钦

本文主要列举了调试本地网页、查看测试环境网页的各种方法,涵盖了PC、iPad、移动端的调试技巧。

本文的不足之处在于,小溪里暂时还没有找到调试位于微信中和安卓各国产浏览器上的网页。

相关设备概念:

  • PC :主要指以 Windows 系统为代表的台式机或笔记本,其通常为 1 倍屏
  • MacBook :主要指 MacBook Pro Retina,其为 2 倍屏,但 Mackbook Air为 1 倍屏
  • iPad :主要指以 iPad Air Retina 和 iPad Mini Retina 为代表的,其为 2 倍屏,且按1024 x 768的“宽高”渲染网页。这里 iPad Pro Retina 是按1366 x 1024的“宽高”渲染网页,在CSS的媒体查询中可以按“笔记本”的断点来设置
  • 移动端:主要是指手机。
    • iPhone 5s 及以下设备:按320的“宽”渲染网页,其为 2 倍屏幕
    • 常规安卓设备:通常分辨率为1080 x 1920,按360的“宽”渲染网页,其为 3 倍屏幕
    • iPhone 6:分辨率为750 x 1344,按375的“宽”渲染网页,其为 2 倍屏幕
    • iPhone 6 plus:实际分辨率为1242 x 2208,按414的“宽”渲染网页,其为 3 倍屏幕。PS:貌似 iPhone 6 plus 实际显示器上渲染后的分辨率为1080 x 1920

本地开发网页

主要针对前端工程师,测试工程师也可以学习使用。

前端在开发移动端网页时,通常使用 localhost 在本地访问网页,在除本机外的设备上都需要换成 IP 访问。

  • ifconfig : OS X 系统上查看网络信息的命名,在Macbook Pro上 en0 代表 Wifi,所以可以用ifconfig en0直接查看 Wifi 的信息。
  • ipconfig :Windows 系统上查看网络信息的命令。

Chrome Emulation 即时“仿真”调试网页

Chrome Emulation 使用的当前 Chrome 版本的 Webkit或 Blink 渲染的网页,跟iPhone 或安卓设备上的浏览器上渲染出的网页效果可能存在差异,如安卓 UC 浏览器就存在各种各样的小 bug。

  • 审查元素:右击或使用快捷键(Mac:command + option + i)
  • 调出 Emulation:再审查元素后,点击对应的图标或者使用快捷键(Mac:command + option + m)

吐槽
PC或Mac连接安卓设备,想用 Chrome 审查元素查看安卓设备上Chrome浏览器上打开的网页,还需要FQ,但是却无法查看安卓设备上国产厂商封装的浏览器,如UC浏览器、QQ浏览器。

Safari 即使调试网页

“响应式设计模式”
Safari 在 “开发”菜单中有“响应式设计模式”,里面有常见的 iOS 设备,如 iPhone 4s 、 iPhone 5s 、 iPhone 6s 、iPhone 6s plus 、 iPad mini 4 、 iPad Air 2 、 iPad Pro等。
当然,这里的 Safari 的内核应该还是基于当前系统的,与 iOS 设备上各自的 Safari 上可能还存在着差异。
超级棒的审查元素
在 Safari 上不仅可以调试浏览器本身打开的网页,还能打开下文中提到的 Xcode Simulator打开的网页,甚至可以打开用 USB 连接的 iPhone/iPad。

Xcode Simulator 模拟器

Xcode Simulator 是可以模拟各版本 iOS 系统的各种设备,比 Safari 更棒的地方在于它模拟了各种 iOS 系统上的 Safari,因此可以复现各种奇葩 bug。

  • 系统涵盖了从 iOS 8.0 到 iOS 9.2 的各个版本、tvOS 、 watchOS
  • 设备涵盖了 iPhone 、 iPad 、tvOS 、 Apple Watch 、 Apple TV

小溪里推荐下载 iOS 8.1,因为自带的最新 iOS 模拟器在运行时可能会卡。

访问测试环境的网页

主要针对测试工程师,前端工程师学习起来也是 so easy 的。

静态IP

原理简析:静态 IP 其实重心是在移动设备设置特定 DNS,而特定 DNS 是与测试环境有关系的。
不足之处:在iPad 及 移动端上配置静态 IP 后,浏览器可以访问位于测试环境的网页,但微信却只能访问位于正式环境的网页。

设置步骤:

  1. 记住自动分配的 IP
  2. 设置对应设备的静态 IP
    • iOS:设置 – 无线局域网 – 选中网络 – IP地址 – 静态
    • Android:设置 – WLAN – 长按选中网络 – 修改网络 – 高级 – 静态 IP

网络代理

原理简析:在 PC 或Mac 上已经设置成功了测试环境,而移动设备通过网络代理访问 PC 或 Mac 上的网络设置,就可以访问测试环境了,无论是浏览器还是微信。

设置代理的常见方式(具体请自行百度)

  • Fiddler 代理,只适用于windows系统
  • Charles 代理,适用于OS X系统(即Mac电脑)
  • 微信web开发者工具(以下简称“微信工具”),适用于windows和Mac

微信web开发者工具

官网地址

  • 使用自己的微信号来调试微信网页授权
  • 调试、检验页面的 JS-SDK 相关功能与权限,模拟大部分 SDK 的输入和输出
  • 使用基于 weinre 的移动调试功能
  • 利用集成的 Chrome DevTools 协助开发

移动调试
可以在微信中查看位于测试环境的网页

  1. 确保本机和移动设备在同一局域网网段中
  2. 将移动设备的网络代理配置到:http://\*\*.\*\*.\*\*.\*\*( PC或Mac 的IP),端口: 9973
    • iOS: 设置 – 无线局域网 – 选中网络 – HTTP代理手动
    • Android: 设置 – WLAN – 长按选中网络 – 修改网络 – 高级 – 代理设置 – 手动
  3. 重启微信,并在微信中访问网页

PS:在小溪里的电脑上并没有像官网宣传的那样可以审查元素

在小溪里所在的公司里面,设置网络代理的步骤:

  1. 连接 Wifi
  2. 弹出验证窗口,输入公司账户
  3. 设置网络代理

PS:连接 Wifi后,要确保没有设置网络代理,这样才可以弹出验证窗口。

QQ技术交流群290551701  http://cxy.liuzhihengseo.com/554.html

移动端 Web 网页调试技巧的更多相关文章

  1. 微信移动端web页面调试小技巧

    技术贴还是分享出来更加好,希望能对一些朋友有帮助,个人博客  http://lizhug.com/mymajor/微信移动端web页面调试小技巧

  2. 安卓手机移动端Web开发调试之Chrome远程调试(Remote Debugging)

    一.让安卓打debug模式的apk包 二.将电脑中的chrome升级到最新版本,在chrome浏览器地址栏中输入chrome://inspect/#devices: 在智能手机还未普及时,移动设备的调 ...

  3. 网页调试技巧:抓取马上跳转的页面POST信息或者页面内容

    http://www.qs5.org/Post/625.html 网页调试技巧:抓取马上跳转的页面POST信息或者页面内容 2016/02/02 | 心得分享 | 0 Replies 有时候调试网页或 ...

  4. 借助FreeHttp为任意移动端web网页添加vConsole调试

        以下介绍在不用修改代码并发布项目的情况下,为我们日常使用的移动web应用(如手机web淘宝)添加vConsole调试工具的方法   vConsole介绍 vConsole是一个轻量.可拓展.针 ...

  5. 移动端Web开发调试之Chrome远程调试(Remote Debugging)

    比如手机钉钉调试页面,下面是一位同学整理的链接: http://blog.csdn.net/freshlover/article/details/42528643/ 如果inspect 后,一直空白, ...

  6. 移动端web开发调试

    手机上安装chrome, 连接上usb允许调试,打开电脑的chrome,输入chrome://inspect 点击电脑页面的inspect即可,这时操作手机和电脑能达到同步显示. android4.4 ...

  7. 移动端web网页meta设置

    <meta charset='utf-8'><!-- 声明文档使用的字符编码 --> <meta http-equiv="X-UA-Compatible&quo ...

  8. 转载--未看关于移动端Web远程开发调试

    移动端Web开发调试之Chrome远程调试(Remote Debugging) http://blog.csdn.net/freshlover/article/details/42528643 移动端 ...

  9. 【转】手机web前端调试页面的几种方式

    前言 PC端web页面调试比较容易,这里主要说几种移动端调试的方法,从简单到复杂.从模拟调试到远程调试,大概分为几部分: 1.Chrome DevTools(谷歌浏览器)的模拟手机调试 2.weinr ...

随机推荐

  1. codeforces 466A. Cheap Travel 解题报告

    题目链接:http://codeforces.com/problemset/problem/466/A 题目意思:一个 ride 需要 a 卢布,m 个 ride 需要 b 卢布,这两种方案都可以无限 ...

  2. [CROATIAN2009] OTOCI

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1180 [算法] 动态树维护森林连通性 时间复杂度 : O(NlogN ^ 2) [代 ...

  3. windbg调试堆破坏

    堆破坏 所谓的堆破坏,是说没控制好自己的指针,把不属于你分配的那块内存给写覆盖了.这块内存可能是你程序的数据,也可能是堆的管理结构.那么这个会导致怎样的后果呢?可能的情况我们来yy下 把程序里的计算结 ...

  4. StarUML中时序图

    StarUML中时序图 在看时序图的例子的时候,发现有些的时序图上有小人的图标,可是一些UML工具却没有找到小人的图标,这让我很闹心,一直没解决,今天终于将该问题给解决了.解决这个问题来自于网上的一个 ...

  5. char的定义在iOS和Android下是不同的

    char is different in iOS and Android!跨平台开发时很容易忽略的非常坑爹的一个区别. 我的需求是实现一个算法,这个算法在iOS和Android下需要保持一致的结果,很 ...

  6. Lua教程 loadfile与loadstring

    在程序运行中有时需要运行用户输入的代码1.loadfile把文件编译为可执行的函数f=loadfile('\\temp\\a.lua')     ----给f方法赋值print(type(f))  - ...

  7. 洛谷 - P2281 - 多项式的加法和乘法 - 大模拟

    题目链接:https://www.luogu.org/problemnew/show/P2281 题目的意思很简单,输入两个系数.指数都是整数,变量都是大写字母的多项式,求他们的加法结果和乘法结果. ...

  8. ZOJ3158 【DFS】

    题意: 从上往下切割,不能切边缘,然后问你两个差值,要小于给出的值. 思路: 直接爆搜,枚举每一行的劈开位置: #include<bits/stdc++.h> using namespac ...

  9. 萌新学习图的强连通(Tarjan算法)笔记

    --主要摘自北京大学暑期课<ACM/ICPC竞赛训练> 在有向图G中,如果任意两个不同顶点相互可达,则称该有向图是强连通的: 有向图G的极大强连通子图称为G的强连通分支: Tarjan算法 ...

  10. Linux系统查看网站访问日志

    日志地址 /www/wwwlogs/网站名称-access_log 下载到本地,改成txt文件 打开WPS,创建表格,导入数据,选择文件,然后点击下一步,直到选择文件类型时,选择分隔符号,下一步,把勾 ...