我正在使用移动检测(http://mobiledetect.net/)来检查我的网页使用的浏览器,但我很难正确检查是否在iOS或Android网页内查看了某个网页
以下选项可用,但我无法使其正常工作。有可能吗?
isSafari()
isioS()
isAndroid()
isAndroidOS()
isChrome()
等..(http://demo.mobiledetect.net/的完整列表)
有人成功地完成了这项工作吗?我想要这样做的原因是我的网站上有一个横幅,告诉用户下载iOS或Android应用程序。现在这个工作正常。
然而,在应用程序本身,有一个允许用户浏览网站的webview,在这种情况下,我不希望横幅显示,因为他们已经在使用该应用程序。
感谢。
答案 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";
}