如果你在开发PAD/手机所用WEB版应用,需要在桌面审查页面元素、调试脚本,模拟移动设备尺寸、事件、位置等信息,

那么可以使用Chrome开发者工具(DevTools)提供的强大的移动仿真功能,支持主流移动触摸设备,并且支持对Android的远程调试。

本文是对Google官方文档Mobile Emulate章节的翻译,原文链接如下:

https://developers.google.com/chrome-developer-tools/docs/mobile-emulation?hl=zh-CN

移动仿真

内容

  • 仿真触摸事件
  • 仿真设备视角(尺寸/规格/版本)
  • User Agent模仿
  • 网络带宽流量控制
  • 地理定位覆盖
  • 设备方向覆盖
  • CSS媒体类型仿真
  • FAQ
仿真触摸事件

由于大部分桌面机器都不支持触摸事件,所以对触摸(Touch)事件进行测试比较难。如果需要在移动设备上进行测试将拖长你的开发周期,因为每个变更都得部署到服务器上然后用设备访问,而且设备上还无法利用调试工具。

解决方案是在你的桌面机器上模拟触摸事件。对于单点触摸事件,Chrome开发者工具支持单点触摸事件(singletouch
event
)模拟,这样在桌面上调试移动网页应用会更加容易。

为了启用触摸事件模拟(touch event emulation),需要做如下设置:

  1. 点击开发者工具右下角Settings图标,并点开Overrides设置面板(更新20140917:如果没有这个设置面板,请查找是否有Emulation标签页)
  2. 向下滚动并勾选"Enable touch events"单选框
  3. 重新加载页面

现在你的鼠标会变成一个小圆状,并且在页面右上角会提示Overrides:Touch字样,这样你的鼠标操作就可以模拟相关的触摸事件:touchstarttouchmovetouchend.

注意:

  • 功能探测比如Modernizr.touch现在可以在页面刷新时获得;
  • 和其他很多覆盖(overrides)功能一样,这个功能也仅在开发者工具打开的情况下工作;
  • 鼠标会变成一个小圆状,用来模拟手指触摸点大小;
  • 启用"Emulate touch events"并不会完全禁用鼠标事件,就如同在触摸屏上一样;
  • 在鼠标点击时,触发事件的次序目前是:touchstart
    > mousedown > touchmove > touchend > mouseup >
    click
    . 而在触摸设备上,这个顺序有点不一样。这是个问题,开发者工具将会很快更新为使用正确的顺序;

  • elem.ontouch*
    事件目前不能被Enable
    touch
    events设置触发,但可以使用命令行标志来触发这些事件处理器,以Windows为例,桌面Chrome图标右键菜单的属性-〉运行中,添加 --touch-events
    命令行运行参数,重启Chrome。

调试触摸事件

  1. 打开Canvas
    Fingerpaint Demo
  2. 打开源码(Sources)面板
  3. 展开"Event Listener Breakpoints"子面板
  4. 在"Touch"勾选"touchstart"
    和 "touchmove" 事件
  5. 把鼠标移动到画图区域
  6. 调试器会中断在draw()方法上
 
多点触摸(Multi-touch)

如果你有一个支持触摸输入的设备,那么还可以模拟多点触摸事件,比如最新的苹果MacBook。更多辅助信息可以阅读文章Multi-touch
web development guide on HTML5
Rocks
的"Developer
tools"章节。

Pictures hosted
in techbrood

转载:http://blog.csdn.net/iefreer/article/details/12653193

Google Chrome开发者工具-移动仿真:触摸事件仿真的更多相关文章

  1. Google Chrome开发者工具

    Google Chrome开发者工具 是内嵌到浏览器的开发工具,打开方式有两种:第一“按F12”,第二:shift+ctrl+i(火狐.360等浏览器也可以这么用) Console介绍 Console ...

  2. Chrome开发者工具详解(3)-Timeline面板

    Chrome开发者工具详解(3)-Timeline面板 注: 这一篇主要讲解面板Timeline,参考了Google的相关文档,主要用于公司内部技术分享.. Timeline面板 Timeline面板 ...

  3. Chrome开发者工具不完全指南:(三、性能篇)

    卤煮在前面已经向大家介绍了Chrome开发者工具的一些功能面板,其中包括Elements.Network.Resources基础功能部分和Sources进阶功能部分,对于一般的网站项目来说,其实就是需 ...

  4. Chrome开发者工具详解(2)-Network面板

    Chrome开发者工具详解(2)-Network面板 注: 这一篇主要讲解面板Network,参考了Google的相关文档,主要用于公司内部技术分享. Chrome开发者工具面板 面板上包含了Elem ...

  5. Chrome开发者工具详解(1)-Elements、Console、Sources面板

    Chrome开发者工具详解(1)-Elements.Console.Sources面板 Chrome开发者工具面板 面板上包含了Elements面板.Console面板.Sources面板.Netwo ...

  6. Chrome开发者工具详解(1)

    Chrome开发者工具面板 面板上包含了Elements.Console.Sources.Network.Timeline.Profiles.Application.Security.Audits这些 ...

  7. 前端调试效率低?试试这10个“Chrome开发者工具”使用技巧

    摘要:今天给大家分享一些使用“Chrome开发者工具”的小技巧.包括调试,优化页面渲染速度等.希望能提升Web开发人员的工作效率. 今天给大家分享一些使用“Chrome开发者工具”的小技巧.包括调试, ...

  8. Chrome开发者工具详解(2)

    Chrome开发者工具面板 面板上包含了Elements面板.Console面板.Sources面板.Network面板.Timeline面板.Profiles面板.Application面板.Sec ...

  9. 神器——Chrome开发者工具(一)

    这里我假设你用的是Chrome浏览器,如果恰好你做web开发,或者是比较好奇网页中的一些渲染效果并且喜欢折腾,那么你一定知道Chrome的开发者工具了.其实其他浏览器也有类似工具,比如Firefox下 ...

随机推荐

  1. SpringBoot的特性

    SpringBoot的理念“习惯优于配置” 习惯优于配置(项目中存在大量的配置,此外还内置了一个习惯性的配置,无须手动进行配置) 使用SpringBoot可以方便地创建独立运行.准生产级别的基于Spr ...

  2. JeeSite 工作流Activiti的应用实例

    新建流程模型 在线办公-流程管理-模型管理-新建模型  点击“提交”后会立即跳转到“流程在线设计器”页面,请看下一章节 在线流程设计器 在线办公流程管理模型管理模型管理编辑 整体流程图 mat ...

  3. Webstrom使用手册小记

    全手打原创,转载请标明出处:https://www.cnblogs.com/dreamsqin/p/10883350.html,多谢~=.= 1.从git上拉取项目 或者 2.切换分支(webstro ...

  4. linux 命令——27 chmod

    chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法. 一种是包含字母和操作符表达式的文字设定法: 另一种是包含数字的数字设定法. Linux系统中 ...

  5. javascript:理解DOM事件

    首先,此文不讨论繁琐细节,但是考虑到读者的心灵感受,本着以积极向上的心态,在此还是会列举示例说明. ​标题为理解DOM事件,那么在此拿一个简单的点击事件为例,希望大家看到这个例子后能触类旁通. DOM ...

  6. POJ-2195 Going Home---KM算法求最小权值匹配(存负边)

    题目链接: https://vjudge.net/problem/POJ-2195 题目大意: 给定一个N*M的地图,地图上有若干个man和house,且man与house的数量一致.man每移动一格 ...

  7. 手机上如何远程控制Linux服务器?

    这里介绍3个手机软件,分别是JuiceSSH.Termius和Termux,这3个软件都可以实现远程控制Linux服务器(相当于手机SSH客户端),而且使用起来都非常方便,下面我简单介绍一下这3个软件 ...

  8. 2018.2.7 css 的一些方法盒子模型

    css 的一些方法 1.盒模型代码简写 盒模型的外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左.具体应用在margin ...

  9. 剑指Offer的学习笔记(C#篇)-- 和为S的连续正数序列

    题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他 ...

  10. java基础编程——链表反转

    题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList.   题目代码 /** * @program: JavaCode * @description:输入一个链表,按链表值从尾到头 ...