10

是否有任何脚本来检查用户代理,然后将该信息发送并保存到服务器上的数据库?

我正在制作具有 2 个版本的移动网站,例如m.facebook.comtouch.facebook.com,我想重定向到不同的手机。我使用WURFL设备检测。

因此,例如 m.html5version.com 应交付给所有支持 HTML5 的设备,而m.mobileversion.com 应交付给所有其他手机。

所以我需要一种使用任何服务器端或客户端方法第一次检测设备和浏览器的方法。当任何用户第一次在设备上打开网站时,脚本应该运行一次,它应该收集有关设备和浏览器的信息,并将信息保存在我现有的 WURFL 数据库中,所以下次当任何用户来自同一设备时,他将根据设备重定向到网站的触摸或移动版本。

所以只有第一次在第一台设备上我想检测设备并保存信息。

有没有办法做到这一点?

例如

Android 1.6 不支持 HTML5 并且仍在使用中。所以我想将所有 Android 1.6 设备重定向到m.mobileversion.com而不是touch.mobileversion.com

在网站的触摸版本中,我使用的是不支持 Android 1.6 的HTML 5 标签,如 、<header>等。所以我想检测第一个从 Android 1.6 设备访问网站的设备,因为 1.6 不支持 HTML5,所以用户代理应该保存在我的数据库中,然后我下次任何用户在 1.6 中打开网站时它会重定向自动到 lo-fi 移动版本,任何设备都不需要第二次检测。<footer><nav>

4

3 回答 3

22

请参阅下面的链接,这将完全适合您的需要

http://detectmobilebrowser.com

下面是另外一个脚本:

http://detectmobilebrowsers.mobi

于 2011-05-24T10:56:38.397 回答
4

你可能想看看 jQuery 对此的看法,因为它很有趣。

除了检测浏览器外,它们还检测浏览器功能:

http://api.jquery.com/jQuery.browser/

http://api.jquery.com/jQuery.support/

此外,请记住,一些移动用户不希望被重定向到移动优化设备。一方面,当一个网站检测到我的 iPad 作为移动设备并将我(没有任何可能覆盖它)发送到一个我什至不想用 iPhone 浏览的邋遢的移动网站时,我非常讨厌它。

一般来说,如果编码正确,iOS 和 Android 设备将很乐意与标准站点一起工作。其他手机正在迅速消亡。

于 2011-05-21T11:21:56.900 回答
0

至于只检测和保存一次数据,您可以设置一个cookie来记录您已经完成检测的事实。然后下次加载页面时,检查 cookie 是否存在——如果不存在,则调用你的检测函数并记录到数据库中。如果您确实找到了 cookie,那么您就知道您已经收集了数据,您可以跳过再次执行此操作。

http://www.quirksmode.org/js/cookies.html

于 2011-05-24T21:08:57.260 回答