我只想将元标记应用于移动设备而不是平板电脑。目的是缩小移动设备中的页面。我遇到了以下情况,但问题是它也适用于平板电脑,因为还有 Android 平板电脑。
<script>
if(navigator.userAgent.match(/Android/i)
|| navigator.userAgent.match(/webOS/i)
|| navigator.userAgent.match(/iPhone/i)
|| navigator.userAgent.match(/iPod/i)
|| navigator.userAgent.match(/BlackBerry/i)
|| navigator.userAgent.match(/Windows Phone/i)) {
document.write('<meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=0.25" />');
}
</script>
我知道这是一个老问题,但我找不到相关答案。
最佳答案
移动 Android 在 User-Agent header 中有“Mobile”字符串。安卓平板没有。因此,要仅获取移动设备,您需要搜索“Mobile”和“Android”一词。但是,有些平板电脑公司正在放弃此约定,因此对于 XOOM 等公司,如果您想检测这些平板电脑,则需要检查平板电脑的型号。
您还可以查看此:http://wurfl.io/ 。我认为通过执行以下操作可能会有所帮助:
<script type='text/javascript' src="//wurfl.io/wurfl.js"></script>
if(WURFL.form_factor != "Tablet"){
// do mobile things here
}
对于上下文,脚本返回一个 json 对象,如下所示:
{
"complete_device_name":"Samsung Galaxy Tab",
"is_mobile":true,
"form_factor":"Tablet"
}
关于javascript - 仅自动检测移动浏览器(通过用户代理?)而不是平板电脑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25765887/