我已经阅读了几篇关于特征检测的文章,并且它比浏览器检测更可靠,因为浏览器存在。
我无法找到有关他们撒谎原因的任何信息。有谁知道他们会这样做的原因?
答案 0 :(得分:2)
原因很简单:
因为网站会查看用户代理字符串并对浏览器进行假设,然后在浏览器更新为新版本时无效。
自从网络开始以来,这种情况一直在发生。浏览器供应商不希望他们的新版本破坏网络,因此他们调整UA字符串以欺骗现有网站上的代码。
最终,如果每个人都负责任地使用UA字符串并在新的浏览器版本出现时更新他们的网站,那么浏览器就不需要撒谎。但你不得不承认,他们提出了很多要求。
功能检测效果更好,因为当新的浏览器版本推出该功能时,检测功能会自动启动,而浏览器不需要做任何特殊操作,也不需要网站所有者。
当然,有时功能检测并不能完美运行 - 例如,如果某个功能存在但在特定浏览器中存在错误。在这种情况下,是的,您可能希望将浏览器检测作为后备。但在大多数情况下,功能检测是一个更好的选择。
答案 1 :(得分:1)
据我了解,网站管理员会进行浏览器嗅探,以查找浏览器的功能并限制他们发送给浏览器的内容。如果浏览器关于它的功能,他们将从网站管理员处获得更多信息,您可以阅读更多内容:
答案 2 :(得分:0)
另一个更现代的原因是避免安装移动应用程序的需求(产品所有者会控制我对内容的处理和不处理。不,谢谢!)。
今天,Reddit开始阻止查看子Reddit,以防他们在UserAgent中检测到移动浏览器,因此我不得不对其进行更改,以便能够查看内容。