我已经编写了几行java脚本代码。但我不确定它是否正确。几个月前,我发布了一个桌面版网站。但是当用户通过移动设备(如Android,iPhone或可能是Windows Phone)时,我想重定向一条新路径。这是代码:
// 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.";
}
它是正确的代码吗?
这将起作用,但由于以下几个原因,这不是执行此操作的好方法:
-
禁用 JavaScript 的用户不会被重定向
移动 用户(有些浏览器速度较慢且带宽限制严格)将在重定向到移动网站之前下载您的桌面页面。
如果可能的话,更好的方法是通过 Web 服务器配置来管理它,理想情况下根本不需要任何重定向。或者,考虑向所有用户提供相同的内容,并使用媒体查询更改布局。
如果您真的需要检测移动浏览器(而不是像 Initializr 上的响应式模板那样制作适合移动设备的响应式布局,该模板仅适用于移动浏览器 - Google 表示"移动优先"和"响应式设计"以获取更多示例),请查看以下链接:
- 检测移动浏览器
- 检测权
- 设备图集
- WURFL - 无线通用资源文件
- 移动设备浏览器文件
有大量的移动浏览器 - 不仅是iPhone,Android和Windows - 所以如果你要检测它们,那么你需要做对。另请参阅jQuery Mobile,这是一个很棒的移动框架,可以让您的生活更轻松。
uAgent.indexOf("android") > -1
Android不仅仅是智能手机的操作系统。它还在许多平板电脑上运行,可以轻松处理大多数网站的桌面优化版本。我的一个朋友刚刚抱怨说,有些网站只为他的GalaxyTab提供移动版本,即使普通版本在他的10.1英寸屏幕上看起来很好。
你也忘记了黑莓和塞班手机。