浏览器检测

Jrg*_*gns 10 browser browser-detection

检测用户浏览器的最佳/最简单/最准确的方法是什么?

易于扩展和实施是一个优点.

使用的技术越少越好.

解决方案可以是服务器端,客户端或两者.但结果应该最终会在服务器上结束.

解决方案可以是框架无关的.

该解决方案仅用于报告目的.

Dan*_*Dan 12

在服务器上,您几乎只限于浏览器提供的UserAgent字符串(这充满了问题,请阅读有关UserAgent字符串的历史记录).

在客户端(即在Javascript中),您有更多选择.但最好的选择是不要真正担心它是哪个浏览器.只需检查以确保您想要使用的任何功能实际存在.

例如,您可能想要使用只有MSIE提供的setCapture:

if (element.setCapture) element.setCapture()
Run Code Online (Sandbox Code Playgroud)

我们不是弄清楚浏览器是什么,然后推断它的功能,而是在使用它之前看看它是否支持某些东西 - 谁知道将来支持哪些浏览器,你真的想要回去更新如果Safari决定支持setCapture你的脚本?


Con*_*oyP 6

JQuery的浏览器插件会做客户端给你的.

什么是jQuery Browser Plugin?

jQuery Browser Plugin是jQuery的插件,可以轻松地唯一标识访问者的浏览器.

它有什么作用?

它为您提供了一个javascript对象,其中包含有关正在使用的浏览器的所有信息.它还添加了CSS浏览器选择器,这意味着您可以为特定浏览器,浏览器版本,布局,布局版本甚至操作系统设置元素或编写函数.正在运行的jQuery Browser插件的图片.

插件$.browser可用,如果您确实需要服务器端,可以通过AJAX调用将其重新提交给服务器.

alert($.browser.name);  // Alerts Firefox for me
Run Code Online (Sandbox Code Playgroud)

但是,该插件仅与其测试的浏览器一样有效.上面列出的插件有一个在其测试中识别浏览器列表,但总是存在新浏览器潜入(Google Chrome ..)的风险,这需要重新编写识别规则.也就是说,这个插件似乎会定期更新.