Я делал browser recognition tutorial на w3schools, и я обнаружил, что при использовании firefox и google chrome я получил Netscape 5 в качестве своего результата. Мне было просто любопытно, почему это так. Кто-нибудь хочет объяснить это мне?Javascript Browser Recognition
ответ
Я думаю, что эта статья о Browser Object Model по существу отвечает на ваш вопрос. В принципе, объект navigator
бесполезен, и никто не хочет его обновлять. У Firefox есть свои корни в Netscape, и эти свойства просто не обновлялись. (Примечание: меня интересует , почему они никогда не обновлялись, но я еще не нашел его).
Этот урок, который вы используете в w3c, устарел. Он использует чрезвычайно старый метод обнаружения браузера, который просто не работает. A better version is here, но даже этот метод больше не рекомендуется. Все эти свойства могут быть подделаны и довольно просто ненадежны.
Общий метод определения браузеров в наши дни - это метод, называемый object detection, который, по существу, предлагает возможности вашего браузера и определяет его на основе того, что он может делать или какие конкретные объекты могут существовать.
Интересно отметить, что современные библиотеки, такие как MooTools и JQuery, делают идентификацию браузера очень тривиальной и чистой, выполняя все эти функции и функции для вас. MooTools имеет объект Browser, а JQuery имеет jQuery.browser, теперь он устарел в пользу jQuery.support.
@ Zombat: Эй, ты избил меня на несколько секунд. Даже я предлагаю версию, доступную на сайте quirksmode. :) – kayteen
@kayteen - да, я ждал, чтобы кто-то опубликовал их, и меня заинтересовали конкретные причины, по которым «навигатор» никогда не обновлялся, поэтому я только начал искать себя и написал ответ. – zombat
Это были дни;) Старый стиль.
использование navigator.userAgent вместо
Это трендовая тема может также использоваться:
When IE8 is not IE8 what is $.browser.version?
Чтобы повторить некоторые из других комментариев. Обнаружение браузера с использованием пользовательского агента ненадежно. Обнаружение объектов и обнаружение объектов - это путь
- 1. Javascript browser Bookmarklet
- 2. Javascript: console without browser
- 3. Browser JavaScript version
- 4. JavaScript On Browser Resize
- 5. Javascript DOM Console browser
- 6. Javascript unmaximize browser
- 7. Javascript browser close event
- 8. Javascript check browser
- 9. Javascript code freezes browser
- 10. Javascript Cross browser Issue
- 11. Javascript Browser Issue
- 12. Различать javascript Console & Browser
- 13. Javascript Login Browser PopUp
- 14. Javascript browser lookup array
- 15. Javascript Browser Plugin IsEnabled?
- 16. Twilio browser-to-browser
- 17. javascript cross browser scripting help
- 18. Cross-Browser Непрозрачность Свойства Javascript
- 19. Javascript/Browser enryption: используйте Yubikey
- 20. javascript browser-like GET-запрос
- 21. Javascript scroll event cross browser
- 22. JavaScript for loop crashes browser
- 23. Старая функция JavaScript Crashes Browser
- 24. Функциональное тестирование JavaScript In-Browser
- 25. Javascript Cookie Script Opera Browser
- 26. Ошибка JavaScript в Browser-Link
- 27. Handle Browser закрыть в JavaScript?
- 28. Cordova Speech Recognition Plugin
- 29. Visual Basic Image Recognition
- 30. Android Gesture Recognition bad
Не рекомендуется использовать w3schools как любой определенный источник информации о веб-технологиях. Это довольно сильно устарело. Кроме того, это не очень хорошая идея, чтобы обнюхивать браузер, если нет абсолютно никакого другого способа сделать то, что вам нужно. Лучше обнюхивать функцию. – Breton