我一直在对安全可靠的浏览器检测进行一些研究。鉴于解析navigator.userAgent
是最糟糕的方式,因为它很容易被用户欺骗,最好的选择似乎是使用特征检测。因此,根据 StackOveflow 和其他地方的各种文章,最终的结果是这样的:
IE: /*@cc_on!@*/false
Firefox: -moz-box-sizing
Safari: window.getComputedStyle && !window.globalStorage && !window.opera
Opera: window.opera && window.opera.version
Chrome: window.chrome
鉴于这些将在浏览器的未来版本中得到维护和监控(当一个人可能禁用我们现在用来检测它的功能时,或者可能是其他浏览器可能实现它,因此该浏览器的测试也将返回 true),这种方法有什么注意事项吗?用户可以以任何方式做一些事情,即使这些也会返回错误的结果?