繁体   English   中英

如何检测移动设备并获取用户代理信息只发送一次并将该信息保存到服务器上的数据库?

[英]How to detect mobile device and get user agent info send and save that information to database on server, only once?

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

我正在制作移动网站,有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

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

看下面的链接,这将完全适合您的需要

http://detectmobilebrowser.com

下面是另一个脚本:

http://detectmobilebrowsers.mobi

您可能想要了解jQuery对此的看法,因为它很有趣。

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

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

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

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

一般来说,iOS和Android设备如果编码正确,将很乐意使用标准网站。 而其他手机正在快速消亡。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM