Google Chrome开发者工具-移动仿真:触摸事件仿真
如果你在开发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),需要做如下设置:
- 点击开发者工具右下角Settings图标,并点开Overrides设置面板(更新20140917:如果没有这个设置面板,请查找是否有Emulation标签页)
- 向下滚动并勾选"Enable touch events"单选框
- 重新加载页面

现在你的鼠标会变成一个小圆状,并且在页面右上角会提示Overrides:Touch字样,这样你的鼠标操作就可以模拟相关的触摸事件:touchstart, touchmove和touchend.
注意:
- 功能探测比如
Modernizr.touch现在可以在页面刷新时获得; - 和其他很多覆盖(overrides)功能一样,这个功能也仅在开发者工具打开的情况下工作;
- 鼠标会变成一个小圆状,用来模拟手指触摸点大小;
- 启用"Emulate touch events"并不会完全禁用鼠标事件,就如同在触摸屏上一样;
- 在鼠标点击时,触发事件的次序目前是:
touchstart. 而在触摸设备上,这个顺序有点不一样。这是个问题,开发者工具将会很快更新为使用正确的顺序;
> mousedown > touchmove > touchend > mouseup >
click 事件目前不能被Enable
elem.ontouch*
touch
events设置触发,但可以使用命令行标志来触发这些事件处理器,以Windows为例,桌面Chrome图标右键菜单的属性-〉运行中,添加--touch-events
命令行运行参数,重启Chrome。
调试触摸事件
- 打开Canvas
Fingerpaint Demo - 打开源码(Sources)面板
- 展开"Event Listener Breakpoints"子面板
- 在"Touch"勾选"touchstart"
和 "touchmove" 事件 - 把鼠标移动到画图区域
- 调试器会中断在draw()方法上

如果你有一个支持触摸输入的设备,那么还可以模拟多点触摸事件,比如最新的苹果MacBook。更多辅助信息可以阅读文章Multi-touch
web development guide on HTML5
Rocks的"Developer
tools"章节。
Google Chrome开发者工具-移动仿真:触摸事件仿真的更多相关文章
- Google Chrome开发者工具
Google Chrome开发者工具 是内嵌到浏览器的开发工具,打开方式有两种:第一“按F12”,第二:shift+ctrl+i(火狐.360等浏览器也可以这么用) Console介绍 Console ...
- Chrome开发者工具详解(3)-Timeline面板
Chrome开发者工具详解(3)-Timeline面板 注: 这一篇主要讲解面板Timeline,参考了Google的相关文档,主要用于公司内部技术分享.. Timeline面板 Timeline面板 ...
- Chrome开发者工具不完全指南:(三、性能篇)
卤煮在前面已经向大家介绍了Chrome开发者工具的一些功能面板,其中包括Elements.Network.Resources基础功能部分和Sources进阶功能部分,对于一般的网站项目来说,其实就是需 ...
- Chrome开发者工具详解(2)-Network面板
Chrome开发者工具详解(2)-Network面板 注: 这一篇主要讲解面板Network,参考了Google的相关文档,主要用于公司内部技术分享. Chrome开发者工具面板 面板上包含了Elem ...
- Chrome开发者工具详解(1)-Elements、Console、Sources面板
Chrome开发者工具详解(1)-Elements.Console.Sources面板 Chrome开发者工具面板 面板上包含了Elements面板.Console面板.Sources面板.Netwo ...
- Chrome开发者工具详解(1)
Chrome开发者工具面板 面板上包含了Elements.Console.Sources.Network.Timeline.Profiles.Application.Security.Audits这些 ...
- 前端调试效率低?试试这10个“Chrome开发者工具”使用技巧
摘要:今天给大家分享一些使用“Chrome开发者工具”的小技巧.包括调试,优化页面渲染速度等.希望能提升Web开发人员的工作效率. 今天给大家分享一些使用“Chrome开发者工具”的小技巧.包括调试, ...
- Chrome开发者工具详解(2)
Chrome开发者工具面板 面板上包含了Elements面板.Console面板.Sources面板.Network面板.Timeline面板.Profiles面板.Application面板.Sec ...
- 神器——Chrome开发者工具(一)
这里我假设你用的是Chrome浏览器,如果恰好你做web开发,或者是比较好奇网页中的一些渲染效果并且喜欢折腾,那么你一定知道Chrome的开发者工具了.其实其他浏览器也有类似工具,比如Firefox下 ...
随机推荐
- iOS核心动画高级技巧之CALayer(一)
iOS核心动画高级技巧之CALayer(一) iOS核心动画高级技巧之图层变换和专用图层(二)iOS核心动画高级技巧之核心动画(三)iOS核心动画高级技巧之性能(四)iOS核心动画高级技巧之动画总结( ...
- SqlServer Alwayson 搭建排错记录(二)
下面记录下建立好alwayson可用性组后,向可用性组内添加数据库出现过的问题及解决方法 一.数据库未处于恢复状态 将数据库联接到可用性组的时候报错: 数据库“XXXX”未处于恢复状态,而此状态是镜像 ...
- centos6.5_64bit-nginx开机自启动
Nginx 是一个很强大的高性能Web和反向代理服务器.下面介绍在linux下安装后,如何设置开机自启动. 首先,在linux系统的/etc/init.d/目录下创建nginx文件,使用如下命令: ...
- Mysql数据库学习总结(一)
数据库概念 数据库(Database)是按照数据结构来组织.存储和管理数据,建立在计算机存储设备上的仓库. 简单说,数据库就是存放数据的仓库.和图书馆存放书籍.粮仓存放粮食类似. 数据库分类 分为 关 ...
- 工作中碰到的css问题解决方法
好久都没来这写东西了,都长草了.刚解决的两个小问题,先记下来 textarea横向没有滚动条加上 wrap="off"这个属性 英文单词不断行加上这个 word-break:bre ...
- 再次尝试windows下msys+MinGW编译ffmpeg
电脑上安装太多的开源库,环境变量里面一些常用的头文件都有几种,以前使用的编译ffmpeg的方法现在常常提示错误.从config.log中看,这些错误往往都是一些头文件引用错误导致.由于项目中继续编译自 ...
- linux 命令——11 nl (转)
nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...
- 【BZOJ1060】[ZJOI2007] 时态同步(树形DP)
点此看题面 大致题意: 给你一棵带权树,每次使用道具可以将某条边的边权加\(1\),问你至少需要使用多少次道具,才能使每个叶子节点到根节点的距离相等. 贪心的思想 首先,我们应该先有一个贪心的思想. ...
- 地理位置索引 2d索引
地址位置索引:将一些点的位置存储在mongodb中,创建索引后,可以按照位置来查找其他点 子分类: .2d索引:平面地理位置索引,用于存储和查找平面上的点. .2dsphere索引:球面地理位置索引, ...
- convert命令
可以修改图片的分辨率 convert -resize 600×600 src.jpg dst.jpg src.jpg是你要修改的图片的名字 dst.jpg是新生成的图片名字