检测用户浏览器的最佳/最简单/最准确的方法是什么?
易于扩展和实施是一个优点.
使用的技术越少越好.
解决方案可以是服务器端,客户端或两者.但结果应该最终会在服务器上结束.
解决方案可以是框架无关的.
该解决方案仅用于报告目的.
在服务器上,您几乎只限于浏览器提供的UserAgent字符串(这充满了问题,请阅读有关UserAgent字符串的历史记录).
在客户端(即在Javascript中),您有更多选择.但最好的选择是不要真正担心它是哪个浏览器.只需检查以确保您想要使用的任何功能实际存在.
例如,您可能想要使用只有MSIE提供的setCapture:
if (element.setCapture) element.setCapture()
我们不是弄清楚浏览器是什么,然后推断它的功能,而是在使用它之前看看它是否支持某些东西 - 谁知道将来支持哪些浏览器,你真的想要回去更新如果Safari决定支持setCapture你的脚本?
在JQuery的浏览器插件会做客户端给你的.
什么是jQuery Browser Plugin?
jQuery Browser Plugin是jQuery的插件,可以轻松地唯一标识访问者的浏览器.
它有什么作用?
它为您提供了一个javascript对象,其中包含有关正在使用的浏览器的所有信息.它还添加了CSS浏览器选择器,这意味着您可以为特定浏览器,浏览器版本,布局,布局版本甚至操作系统设置元素或编写函数.正在运行的jQuery Browser插件的图片.
插件$.browser
可用,如果您确实需要服务器端,可以通过AJAX调用将其重新提交给服务器.
alert($.browser.name); // Alerts Firefox for me
但是,该插件仅与其测试的浏览器一样有效.上面列出的插件有一个在其测试中识别的浏览器列表,但总是存在新浏览器潜入(Google Chrome ..)的风险,这需要重新编写识别规则.也就是说,这个插件似乎会定期更新.