Navigator. как лучше пользоваться?
Посоветуйте как лучше отфильтровать браузеры?
На какое свойство navigator ориентироваться при определении браузера? Из наблюдений могу сказать: navagator.appName == "Opera" // true для opera navagator.appName == "Microsoft Internet Explorer" // true для ms navigatot.vendor == "Apple Computer, Inc." // true для safari navigator.vendor == "Google Inc." // true для chrome navigator.oscpu // такое свойство есть только у firefox Тестил в свежих браузерах. Как вы ориентируетесь в браузерах? Посоветуйте способы определения (желательно без regEx) браузера не зависимо от версии. Может есть какой-то готовый небольшой(!) плагинчик? |
Вот плагин который поможет узнать название браузера:
<!DOCTYPE HTML> <html> <head> <script> function go() { if (navigator.appName == "Opera") { alert("opera"); } if (navigator.appName == "Microsoft Internet Explorer") { alert("ms"); } if (navigator.vendor == "Apple Computer, Inc.") { alert("safari"); } if (navigator.vendor == "Google Inc.") { alert("chrome"); } if (navigator.oscpu) { alert("firefox"); } } </script> </head> <body> <button onclick="go();">узнать браузер</button> </body> </html> Плагин успешно работает в: -ie 7,8,9 -safari 6.0 -opera 12.02 -firefox 15.0.1 -chrome 21.0.1180.89 |
еси у кого есть возможность посмотреть как он работает в старых версиях браузеров, буду рад если отпишитесь.
.. ну или предложите свой метод определения браузера ) |
Быстренько набросал давно уже:
var Browser = {}; if (/(Trident|Gecko|WebKit|KHTML|Presto)\W*([.,\w]+)*/i.test(navigator.userAgent)) { Browser.layoutEngineName = RegExp.$1.toLowerCase(); Browser.layoutEngineVersion = RegExp.$2; } if (window.opera) { Browser.name = 'opera'; Browser.version = opera.version(); } else if (/(MSIE|Firefox|Chrome|Safari|Konqueror)\W*([.,\w]+)*/i.test(navigator.userAgent)) { Browser.name = RegExp.$1.toLowerCase(); Browser.version = RegExp.$2; } |
Riim,
мощно, зачот! :thanks: |
navigator.userAgent.indexOf('ключевое слово')
PS: в принципе не стоит разграничивать код по браузерам |
bes,
сенкс, что-то даже не подумал, что можно выцепить с помощью indexOf. В дебри полез :) Цитата:
|
Цитата:
|
Цитата:
|
да, сафари и хром повторяются. Ну они и работают более или менее идентично.
|
Часовой пояс GMT +3, время: 01:38. |