1

Web ページが iPad から表示されていること (誤検知なし) を検出する信頼できる方法はありますか?

これは最初の部分に適していると思います:

var isiPad = navigator.userAgent.match(/iPad/i) != null;

2番目の部分を見つけたと思います:

<button onclick="detectIPadOrientation();">What's my Orientation?</button>

<script type="text/javascript">
    window.onorientationchange = detectIPadOrientation;
    function detectIPadOrientation () {
        if ( orientation == 0 ) {
            alert ('Portrait Mode, Home Button bottom');
        } else if ( orientation == 90 ) {
            alert ('Landscape Mode, Home Button right');
        } else if ( orientation == -90 ) {
            alert ('Landscape Mode, Home Button left');
        } else if ( orientation == 180 ) {
            alert ('Portrait Mode, Home Button top');
        }
    }
</script>

たとえば、新しい小型のものを含め、すべての iPad で信頼できるかどうかはわかりません。だから私の質問は: これらの機能はすべての iPad で確実に動作しますか? また、誤検知はありますか?

4

1 に答える 1

0

なりすましの可能性があるため、ユーザー エージェント文字列に依存することは決して良い考えではありません。ただし、「レスポンシブ Web デザイン」について読むことを検討してください。

http://en.wikipedia.org/wiki/Responsive_web_design

jQueryを使用することをお勧めします。向きは横か縦のどちらかになる気がします。OS は、端末の持ち方によって、ブラウザをどの方向に向けるかを判断できるほど賢いと思います。

このjQueryを検討してください。これはおそらくあなたが望む線に沿っています...

$(window).resize(function() {
    /*  This function should be triggered when the orientation 
        changes since orientation essentially changes the window size. */

    if($(window).width() == ipadLandScapeWidth) {
        //Do this in landscape mode.
    } else {
        //Do this in portait mode.
    }
});
于 2012-12-06T13:58:45.550 に答える