3

我编写了几行 java 脚本代码。但我不确定它是否正确。几个月前,我发布了一个桌面版网站。但是当用户通过手机(如安卓、iPhone 或可能是 Windows 手机)来时,我想重定向一条新路径。这是代码:

// JavaScript Document
var uAgent = navigator.userAgent.toLowerCase();

if(uAgent.indexOf("android") > -1 || uAgent.indexOf("iphone") > -1 || uAgent.indexOf("windows phone") > -1) {
    window.location = "http://website path will come here.";
}

它是正确的代码吗?

4

3 回答 3

4

如果您确实需要检测移动浏览器(而不是制作移动友好的响应式布局,例如Initializr上仅适用于移动浏览器的响应式模板- 谷歌表示“移动优先”和“响应式设计”以获得更多示例)然后采取看看这些链接:

大量的移动浏览器——不仅是 iPhone、Android 和 Windows——所以如果你要检测它们,那么你需要做对。另请参阅jQuery Mobile,这是一个让您的生活更轻松的出色移动框架。

于 2012-09-26T12:07:47.923 回答
4

这会起作用,但由于以下几个原因,它不是一个很好的方法:

  1. 禁用 JavaScript 的用户不会被重定向

  2. 移动用户(一些浏览器速度较慢且带宽限制较紧)将在被重定向到移动站点之前下载您的桌面页面。

如果可能的话,更好的方法是通过 Web 服务器配置来管理它,理想情况下根本不需要任何重定向。或者,考虑为所有用户提供相同的内容并使用媒体查询更改布局。

于 2012-09-26T12:10:26.417 回答
2
uAgent.indexOf("android") > -1

Android 不仅仅是智能手机的操作系统。它还可以在许多平板电脑上运行,这些平板电脑可以轻松处理大多数网站的桌面优化版本。我的一个朋友刚刚抱怨一些网站只为他的 GalaxyTab 提供移动版本,尽管普通版本在他的 10.1 英寸屏幕上看起来不错。

您还忘记了黑莓手机和 symbian 手机。

于 2012-09-26T12:16:48.670 回答