以下JavaScript代码会在所有浏览器上返回“Mozilla”。为什么呢?
<script type="text/javascript">
document.write("Browser CodeName: " + navigator.appCodeName);
</script>
答案 0 :(得分:36)
简短回答:因为人们认为用户代理检测(而不是feature (AKA object) detection)是一个好主意,所以浏览器供应商开始撒谎以便进行补偿。
答案 1 :(得分:7)
许多年前,开发人员使用浏览器检测拒绝其他浏览器,通常偏向于Netscape Navigator(Mozilla和Firefox的前身,也代号为Mozilla)。他们在用户代理中测试了字符串'Mozilla'
。 Internet Explorer很刻静,决定模仿Netscape,以便他们可以加入其中。
答案 2 :(得分:1)
navigator.appCodeName基于useragent字符串和In IE的useragent字符串,有Mozilla 4.0或其他东西,所以这就是为什么它显示Mozilla
两者。
答案 3 :(得分:-2)