我们已经得到了网站准备针对移动设备的替代版本。 我们所服务的内容是不同的,它工作得很好。
什么是检测服务哪个版本的最好方法。 我们没有所有移动设备的列表,以便使用user-agent头是棘手的,因为我们可能会错过一些东西。
我们想过期运用设备屏幕的宽度 - 但如果移动设备犯规支持javascript发生。 我们如何嗅出这一点?
我们已经得到了网站准备针对移动设备的替代版本。 我们所服务的内容是不同的,它工作得很好。
什么是检测服务哪个版本的最好方法。 我们没有所有移动设备的列表,以便使用user-agent头是棘手的,因为我们可能会错过一些东西。
我们想过期运用设备屏幕的宽度 - 但如果移动设备犯规支持javascript发生。 我们如何嗅出这一点?
你可以使用一个设备描述数据库(如WURFL ),这将识别客户端设备从请求头。 然后,您可以查询该数据库,以决定是否该设备可以处理你的网站(如支持JavaScript,或者是屏幕够大)决定是否将其重定向到其他网站之前。
你不提你的环境,但WURFL提供Java和PHP的API,也许其他人。 如果没有提供的API,你仍然可以使用WURFL,但你必须分析和自己处理XML数据。
媒体=“手持”不与现代智能手机像它伪装成一个桌面浏览器的iPhone上运行(使用屏幕媒体类型)。
http://detectmobilebrowser.com/免费和开源的,有许多语言版本的全面移动用户代理检查-的JavaScript,PHP,asp.net,红宝石等。
如果您正在寻找重定向到使用JavaScript移动网站,我注意到,WURFL也有一个解决方案将允许你做服务器端检测用JavaScript。
<script type='text/javascript' src="//wurfl.io/wurfl.js"></script>
你将留下一个JSON对象,看起来像:
{
"complete_device_name":"Apple iPhone 6",
"is_mobile":true,
"form_factor":"Smartphone"
}
然后,您可以使用此:
if (WURFL.is_mobile === true) {
window.location.replace("http://stackoverflow.com");
}
我不觉得有什么,如果用户自己安装Javascript检测好/优雅的方式。
国际海事组织,最好是列出用户代理: 这里是一个用户代理名单,这似乎相当齐全(法语,可悲)。
只要把这个在你的头:
<script type="text/javascript">
<!--
if (screen.width <= 700) {
window.location = "http://www.mobile-site.com";
}
//-->
</script>
只是每个人的电脑屏幕是700像素的门限以上,但这个vaule是可以改变的。 心不是一个手机或平板电脑,在那里,超过700像素(至少我不知道有什么),因此所有的移动divices会重定向到您的移动网站。
一个替代WURFL是移动检测 ,PHP类用于检测:
所以,如果WURFL不会做你的需要,你可以随时检查了这一点。
与Skaffman同意,其他设备数据库的DeviceAtlas 。 你必须虽然为此付出代价的。
如果设备不支持JS,最好考虑服务器端解决方案,并且WURFL API可以朝这个方向有所帮助。
有时候,我们希望避免这种方法的问题(如反向代理缓存的网页,不要让重定向到移动版本)或我们需要一个快速的解决方案知道,时下几乎所有最近的设备支持JS。
出于这个原因,我编写了一个名为“redirection_mobile.js” JS脚本检测浏览器的用户代理和重定向到您的网站的移动版本,如果你从移动设备访问它。
在某些情况下,你想从移动设备重定向到桌面版(像一个链接“进入主网站”),该脚本会处理这一点,一旦你完成你的会话,你会再次访问移动版。
您可以在github查看源代码在这里http://github.com/sebarmeli/JS-Redirection-Mobile-Site ,你可以在我这里的文章之一了解更多详细信息:
http://blog.sebarmeli.com/2010/11/02/how-to-redirect-your-site-to-a-mobile-version-through-javascript/
简单:
<link rel="alternate" media="handheld" href="WEBSITE HERE">
提出,在头部分。