javascript - 如何检测设备模式仿真?

标签 javascript webkit

关于 Chrome 模拟设备分辨率和触摸事件的能力:https://developer.chrome.com/devtools/docs/device-mode

实际问题:

'ontouchstart' in document.documentElement

在设备仿真模式下返回 false(当它实际上能够执行触摸事件时)。因此,我需要设备模式仿真的异常(exception)。

最佳答案

您需要在窗口中检查ontouchstart。不是 document.documentElement。

触摸事件将被检测到:

'TouchEvent' in window && 'ontouchstart' in window

我应该指出,我没有包括 Modernizr 使用的 window.DocumentTouch 方法。它仅适用于 Firefox < 25,Mozilla 在 Windows 上放弃了 Touch Metro UI。所以我再也看不到任何合理或相关的浏览器使用来真正证明它是合理的。虽然 TouchEvent in window 不是必需的,但我认为检查 API 的存在更符合 future 的需要并且在技术上是正确的。

有关触摸事件检测的更多详细信息,请参阅最新的 Modernizr Touch Event Feature Detect在评论中包含链接和引用。

关于javascript - 如何检测设备模式仿真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28544445/

相关文章:

javascript - 提取json数据

javascript - 粗箭头函数 (=>) 的语法,在主体周围使用或不使用 {}

javascript - decodeAudioData 返回空错误

ios - 包含 iOS8 的 WebKit 框架验证失败

html - 匿名表格单元格的范围 : Is Gecko or Webkit right?

javascript - backbone.js 每页有几个模型和 View

javascript - 在 ReactJS 中使用动态属性的模板文字

javascript - 无法使用 Chrome 开发者工具查看 localStorage key

swift - NSInvalidArgumentException : How to check script message handler with name when one already exists?

firefox - 使用 HTML5 进行跨源资源共享的问题