什么是检测用户浏览器的最佳/最简单/最准确的方法?
易于扩展和实现是一个加号。
使用的技术越少越好。
解决方案可以是服务器端,客户端或两者。结果最终应该最终在服务器上。
该解决方案可以与框架无关。
该解决方案仅用于报告目的。
最佳答案
在服务器上,您几乎仅限于浏览器提供的UserAgent字符串(充满问题,请阅读有关UserAgent string's history的信息)。
在客户端(即,使用Javascript)中,您有更多选择。但是最好的选择是实际上不必担心要确定它是哪个浏览器。只需检查以确保实际上要使用的任何功能都存在。
例如,您可能想使用setCapture,它仅由MSIE提供:
if (element.setCapture) element.setCapture()
无需弄清楚浏览器是什么,然后推断其功能,我们只是在使用它之前先查看它是否支持某些功能-谁知道将来哪些浏览器将支持什么功能,您真的要回头更新吗? Safari是否决定支持setCapture的脚本?
关于浏览器检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/100898/