1

与此问题相关:Detect Android phone via Javascript / jQuery

在新版本的 android sdk 中,本机浏览器不再返回代号“android”。 navigator.userAgent返回类似:

mozilla/5.0 (X11; Linux x86_64) AppleWebkit7534.24 (KHTML, like Gecko) Chrome/11.0.696.34 Safari7534.24

任何建议为什么?这来自带有当前 Android 版本 4.1.1 的 HTC One S 的手机

4

3 回答 3

0

是的...这可能是因为您的浏览器处于“桌面模式”。

您可能希望在小屏幕上显示页面的某些移动版本,因此您可以尝试:

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<script type="text/javascript">  
  if ((screen.width < 480) || (screen.height < 480)) {    
    location.replace('/m/');
  }  
</script>

您需要浏览器的视口元标记来报告实际的屏幕尺寸。

编辑:
据此,可能需要等待一段时间让浏览器“赶上”,然后再检查屏幕尺寸,所以我想最好使用:

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<script type="text/javascript">  
  setTimeout(function() {
               if ((screen.width < 480) || (screen.height < 480)) {    
                 location.replace('/m/');
               }  
             }, 200);
</script>
于 2013-01-04T08:31:12.033 回答
0

永远不要使用浏览器嗅探!使用特征检测。有一个名为modernizr的 javascript 库,可以根据用户客户端的功能执行操作。

于 2013-01-04T08:28:24.830 回答
0

看到这个问题。您确定不是在桌面模式下查看吗?股票浏览器和许多其他浏览器具有两种不同的用户代理,具体取决于浏览模式。

于 2013-01-04T08:23:21.203 回答