如何使用Javascript添加iPhone / iPad检测?

时间:2012-06-23 01:02:37

标签: javascript jquery mobile browser-detection

如果浏览器来自iPhone / iPad,我想在我的网站上添加一个条件,以便有一些特定的行为,比如点击一个按钮来显示div。

类似的东西:

<script type="text/javascript">
/* iPhone scripts */
<?php if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPod')){ ?>
    // window.addEventListener("load",function() {
    // setTimeout(function(){
    // window.scrollTo(0, 1);
    // }, 0);
    // });
   jQuery(document).ready(function() {
}
});

这正是我发现的,但我不确定这是怎么做的。

4 个答案:

答案 0 :(得分:6)

我使用的是:

function UtilityHasTouch() {    

    var agent   = navigator.userAgent;

    if ( agent.match(/(iPhone|iPod|iPad|Blackberry|Android)/) ) {
        return true;
    }

    try {
        document.createEvent("TouchEvent");
        return true;
    } catch (e) {
        return false;
    }
}

答案 1 :(得分:1)

我建议你应该在服务器端进行设备检测但是无论如何看到这些链接可能会有所帮助。

detect-mobile-javascript

http://davidwalsh.name/detect-iphone

答案 2 :(得分:1)

我建议使用modernizr进行功能检测,而不是依赖家庭浏览器检测。使用Modernizr,您可以使用简单的if语句检测浏览器是否支持触摸事件

if (Modernizr.touch)

导致检测到所有移动设备和平板电脑浏览器。

答案 3 :(得分:0)

列出的解决方案非常适合在iPad或iPhone之间进行检测,我还想指出您可以检测AvaliableWidth的变化,以进一步检查iPad与iPad mini或iPad之间的差异。内置于safari网页浏览器与iOS上具有不同浏览器窗口大小的应用程序...请参阅此处评分第二高的解决方案:Detect iPad Mini in HTML5