#javascript #browser #browser-detection #navigator
#javascript #браузер #обнаружение браузером #навигатор
Вопрос:
Какие значения возвращаются для navigator.appName
значений для всех распространенных браузеров?
navigator.appName
Значение для Firefox равно Netscape
.
Какие значения возвращаются для IE, Firefox, Google Chrome, Safari, Opera, Flock и т.д.?
Комментарии:
1. Это также «Netscape» для Chrome и Safari, возможно, и для других браузеров тоже. Так что, вероятно, это не самое полезное свойство?
2. И Chromium (14) (возможно, очевидно) в Ubuntu 11.04.
3. Что??? Боже мой, почему??? Итак, для чего
navigator.appName
используется? (или) просто бесполезное свойство?4. Это очень старое свойство, родом со времен Netscape (отсюда значение часто / всегда? является «Netscape»). Я думаю, что какой-то очень старый устаревший код там полагается на это, поэтому современные браузеры, как правило, притворяются Netscape, чтобы не нарушать его.
5.
navigator.userAgent
иnavigator.platform
, скорее всего, будут полезны. Но даже в этом случае лучше выполнять обнаружение функций, а не обнаружение браузера. Иногда вам действительно приходится переходить к обнаружению браузера, но это должно быть последним средством.
Ответ №1:
Только что узнал, что предварительный просмотр IE11 изменил значение navigator.AppName:
до IE11 это значение было:
"Microsoft Internet Explorer"
теперь в IE11 preview это значение было изменено на:
"Netscape"
не уверен, почему MS сделала это, и это не будет постоянным после выпуска IE11
Комментарии:
1. Вероятно, это связано с тем, что navigator.AppName устарел и браузеры могут возвращать все, что захотят.
Ответ №2:
Если вы доверяете агенту пользователя, вы можете использовать этот веб-сайт:http://www.useragentstring.com /
Он предоставляет API для анализа вашего текущего браузера. В нем также есть данные о каждом пользовательском агенте, который вы можете себе представить.