Почему navigator.appCodeName возвращает Mozilla?

Следующий код JavaScript возвращает "Mozilla" во всех браузерах. Зачем?

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

4 ответа

Решение

Короткий ответ: потому что люди думали, что обнаружение пользовательского агента (вместо обнаружения объекта (объекта AKA)) было хорошей идеей, поэтому поставщики браузеров начали лгать, чтобы компенсировать это.

Длинный ответ: История строки браузера user-agent

Много лет назад разработчики использовали обнаружение браузера для отклонения других браузеров, обычно предпочитая Netscape Navigator (предшественник Mozilla и Firefox, также известный под кодовым названием Mozilla). Они проверены на строку 'Mozilla' в пользовательском агенте. Internet Explorer стал беспокоиться и решил подражать Netscape, чтобы они могли присоединиться к веселью.

Это navigator.appCodeName, основанное на строке useragent и в строке useragent IE, есть Mozilla 4.0 или что-то еще, поэтому его отображение Mozilla для обоих.

Другие вопросы по тегам