7

デバイスが向きを変更できるかどうかを検出するためのネイティブJavaScript(またはJQuery / Modernizrなどのライブラリの使用による)方法はありますか?デスクトップとモバイルを区別する方法としてそれを利用したいと思います。

ありがとう、

シャディ

4

1 に答える 1

19

モバイル デバイスの検出:

  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)) {...}
    

必要に応じてonorientationchange、上記の #3 と #4 を使用します。

必要に応じて、これら (およびその他のアプローチ) の 1 つ以上を組み合わせます。それらのどれも絶対確実ではありません。

于 2012-12-10T16:47:35.270 に答える