将移动设备重定向到我网站的备用版本

324*_*423 20 html redirect user-agent mobile-website

我们已经为移动设备准备了一个替代版本的网站.我们服务的内容不同,效果也很好.

检测要投放的版本的最佳方法是什么.我们没有所有移动设备的列表,因此使用用户代理标头很棘手,因为我们可能会遗漏一些东西.

我们考虑过使用设备屏幕宽度 - 但如果移动设备不支持javascript会发生什么.我们怎么闻这个?

ska*_*man 24

您可以使用设备描述数据库(例如WURFL),它将从请求标头中识别客户端设备.然后,您可以在决定是否将其重定向到其他站点之前,查询该数据库以确定设备是否可以处理您的站点(例如,支持javascript,或者屏幕是否足够大).

您没有提到您的环境,但WURFL为Java和PHP提供API,也可能提供其他API.如果没有提供的API,您仍然可以使用WURFL,但您必须自己解析和处理XML数据.

  • 不知道帽子存在的事情.比我的解决方案好多了 (2认同)

小智 8

media ="掌上电脑"不适用于现代智能手机,如iphone,它假装是桌面浏览器(使用屏幕媒体类型).

http://detectmobilebrowser.com/ 免费开源,拥有多种语言的全面移动用户代理检查器--javascript,php,asp.net,ruby等.

  • 实际上你应该改变代码的那一部分,以便它改为*firecoding.com*;-) (2认同)

Ell*_*ehr 6

如果您希望使用JavaScript重定向到移动网站,我注意到WURFL也有一个解决方案,允许您使用JavaScript进行服务器端检测.

<script type='text/javascript' src="//wurfl.io/wurfl.js"></script>
Run Code Online (Sandbox Code Playgroud)

你将留下一个看起来像这样的JSON对象:

{
     "complete_device_name":"Apple iPhone 6",
     "is_mobile":true,
     "form_factor":"Smartphone"
}
Run Code Online (Sandbox Code Playgroud)

然后你可以使用这个:

if (WURFL.is_mobile === true) {
    window.location.replace("http://stackoverflow.com");
}
Run Code Online (Sandbox Code Playgroud)