检测是在iOS或Android网页浏览中查看网页?

时间:2014-07-02 10:26:23

标签: android ios mobile detect

我正在使用移动检测(http://mobiledetect.net/)来检查我的网页使用的浏览器,但我很难正确检查是否在iOS或Android网页内查看了某个网页

以下选项可用,但我无法使其正常工作。有可能吗?

isSafari()
isioS()
isAndroid()
isAndroidOS()
isChrome()

等..(http://demo.mobiledetect.net/的完整列表)

有人成功地完成了这项工作吗?我想要这样做的原因是我的网站上有一个横幅,告诉用户下载iOS或Android应用程序。现在这个工作正常。

然而,在应用程序本身,有一个允许用户浏览网站的webview,在这种情况下,我不希望横幅显示,因为他们已经在使用该应用程序。

感谢。

3 个答案:

答案 0 :(得分:2)

对于这个问题

  

然而,在应用程序本身,有一个允许用户浏览网站的webview,在这种情况下,我不希望横幅出现,因为他们已经在使用该应用程序。

您需要在网站网址中嵌入一个GET变量。例如

http://www.example.com?isInsideApp=true

然后在服务器端获取GET字符串并检查它是true还是别的。如果是true,则不要显示广告。

答案 1 :(得分:1)

您是否尝试过检查服务器端的用户代理?

    <script type="text/javascript">
        function check() {
            if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
                userAgent = 'iOS';
            } else if (navigator.userAgent.match(/Android/i)) {
                userAgent = 'Android';
            }
         }
    </script>

答案 2 :(得分:0)

function getMobileOS() {
  var userAgent = navigator.userAgent || navigator.vendor || window.opera;

    if (/windows phone/i.test(userAgent)) {
        return "Windows";
    }

    if (/android/i.test(userAgent)) {
        return "Android";
    }


    if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {
        return "iOS";
    }

    return "unknown";
}