为什么navigator.appCodeName会返回Mozilla?

时间:2010-05-06 11:23:34

标签: javascript browser

以下JavaScript代码会在所有浏览器上返回“Mozilla”。为什么呢?

 <script type="text/javascript">
 document.write("Browser CodeName: " + navigator.appCodeName);
 </script>

4 个答案:

答案 0 :(得分:36)

简短回答:因为人们认为用户代理检测(而不是feature (AKA object) detection)是一个好主意,所以浏览器供应商开始撒谎以便进行补偿。

答案很长:History of the browser user-agent string

答案 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)