代码之家  ›  专栏  ›  技术社区  ›  Venkat

为什么navigator.appcodename返回mozilla?

  •  26
  • Venkat  · 技术社区  · 14 年前

    下面的javascript代码在所有浏览器上返回“mozilla”。为什么?

     <script type="text/javascript">
     document.write("Browser CodeName: " + navigator.appCodeName);
     </script>
    
    4 回复  |  直到 8 年前
        1
  •  36
  •   Quentin    12 年前

    简而言之:因为人们认为用户代理检测(而不是 feature (AKA object) detection )是个好主意,所以浏览器厂商开始撒谎以补偿损失。

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

        2
  •  7
  •   Delan Azabani    14 年前

    许多年前,开发人员使用浏览器检测来拒绝其他浏览器,通常倾向于Netscape Navigator(Mozilla和Firefox的前身,也称为Mozilla)。他们测试了绳子 'Mozilla' 在用户代理中。Internet Explorer很生气,决定模仿Netscape,这样他们就可以一起玩了。

        3
  •  1
  •   YOU    14 年前

    navigator.appcodename基于useragent字符串,在ie的useragent字符串中,有mozilla 4.0或其他东西,这就是为什么它的显示 Mozilla 两者都有。