如果你在开发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集成mybatis和mybatis generator

    利用搭建的基本的spring boot框架,集成 mybatis + generator 1.设置 maven 的相关配置: File  - setting - maven 设置 Maven home ...

  2. java cpu使用率高异常排查

    1.top命令对cpu进行排序shift+p 2.pwdx pid查找业务进程路径 3.top -Hp pid查看相关负载线程pid 4.printf “0x%x\n” 线程pid     // 将线 ...

  3. LeetCode Valid Palindrome 有效回文(字符串)

    class Solution { public: bool isPalindrome(string s) { if(s=="") return true; ) return tru ...

  4. IOS 控件器的创建方式(ViewController)

    ● 控制器常见的创建方式有以下几种 ➢ 通过storyboard创建 ➢ 直接创建 NJViewController *nj = [[NJViewController alloc] init]; ➢ ...

  5. spark dataframe函数编程

    DataFrame 的函数 Action 操作 1. collect() ,返回值是一个数组,返回dataframe集合所有的行 2. collectAsList() 返回值是一个Java类型的数组, ...

  6. fetch用法说明

    语法说明 fetch(url, options).then(function(response) { // handle HTTP response }, function(error) { // h ...

  7. 关于profile集合

    profile集合是mongodb的慢操作日志 > db.getProfilingStatus() { , , } 可以通过getProfilingStatus来查看当前profile设置 pr ...

  8. 题解 P2626 【斐波那契数列(升级版)】

    这道题,大家一定要注意: 要对2^31取模 ! ( 本蒟蒻开始没注意到这一点,WA了 ) (不过大家在试样例的时候,试试47,出不了结果,就说明你没模2^31) 总体来说,这道题考查的知识点就两个: ...

  9. Bootstrap 历练实例 - 折叠(Collapse)插件事件

    事件 下表列出了折叠(Collapse)插件中要用到的事件.这些事件可在函数中当钩子使用. 事件 描述 实例 show.bs.collapse 在调用 show 方法后触发该事件. $('#ident ...

  10. C#继承机制 多级继承

    一些面向对象语言允许一个类从多个基类中继承,而另一些面向对象语言只允许从一个类继承,但可以随意从几个接口或纯抽象类中继承. 只有C++支持多级继承,许多程序员对此褒贬不一.多级继承常会引起继承来的类之 ...