时间:2021-07-01 10:21:17 帮助过:13人阅读
用PHP实现UA白名单,需要能够匹配基本上所有的浏览器和主要的搜索引擎蜘蛛UA的正则。
可能这个问题比较复杂,我看看这里有没有人能解决。
var userAgent = navigator.userAgent.toLowerCase();
// Figure out what browser is being used
jQuery.browser = {
version: (userAgent.match( /.+(?:rv|it|ra|ie)[/: ]([d.]+)/ ) || [])[1],
safari: /webkit/.test( userAgent ),
opera: /opera/.test( userAgent ),
msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
mozilla: /mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)
};
供你参考一下,http://www.bkjia.com/jQuery/449138.html
提高另外两个线索思路,
1.最早jQuery的实现中,关于UA的检测好像就是使用正则表达式检测的方式的,后来的兼容性代码用的是“测试”的方式;
2.《JavaScript高级程序设计》,印象中是有这样的代码的, 第三版的示例代码在 233页
补充一下:
这个网站可以查到绝大多数浏览器和搜索引擎蜘蛛的UA:http://www.useragentstring.com/pages/useragentstring.php
IE的UA说明:https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx
FireFox的UA说明:https://developer.mozilla.org/en-US/docs/Browser_detection_using_the_user_agent
Chrome的UA说明:https://developer.chrome.com/multidevice/user-agent