检测设备是否能够在JavaScript中更改方向

时间:2012-12-10 15:23:34

标签: javascript jquery orientation device-orientation orientation-changes

是否存在本机JavaScript(或通过使用诸如JQuery / Modernizr之类的库等)检测设备是否能够更改方向?我想用它作为区分桌面和移动设备的方法。

谢谢,

沙迪

1 个答案:

答案 0 :(得分:17)

检测移动设备:

  1. 简单的浏览器嗅探

    if (/mobile/i.test(navigator.userAgent)) {...}
    
  2. jQuery.browser.mobile插件(详尽的浏览器嗅探)

  3. 触摸事件的简单测试

    if ('ontouchstart' in window) {...}
    
  4. 触摸事件的高级测试:

    if (('ontouchstart' in window) ||     // Advanced test for touch events
       (window.DocumentTouch && document instanceof DocumentTouch) ||
       ((hash['touch'] && hash['touch'].offsetTop) === 9)) {...}
    

  5. 可选择将onorientationchange用于上面的#3和#4。

    根据需要将这些中的一个或多个(以及任何其他方法)组合。它们都不是万无一失的。