Почему 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
для обоих.
Это свойство хранится только для compatibility purposes
,
Пожалуйста, обратитесь на эту страницу:
https://developer.mozilla.org/en-US/docs/Web/API/NavigatorID/appCodeName http://www.w3schools.com/jsref/prop_nav_appcodename.asp