Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.09.2012, 08:15
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

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) браузера не зависимо от версии.

Может есть какой-то готовый небольшой(!) плагинчик?
Ответить с цитированием
  #2 (permalink)  
Старый 17.09.2012, 08:43
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Вот плагин который поможет узнать название браузера:

<!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

Последний раз редактировалось dmitry111, 17.09.2012 в 08:50.
Ответить с цитированием
  #3 (permalink)  
Старый 17.09.2012, 08:45
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

еси у кого есть возможность посмотреть как он работает в старых версиях браузеров, буду рад если отпишитесь.

.. ну или предложите свой метод определения браузера )
Ответить с цитированием
  #4 (permalink)  
Старый 17.09.2012, 09:11
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Быстренько набросал давно уже:

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;
}
Ответить с цитированием
  #5 (permalink)  
Старый 17.09.2012, 09:19
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Riim,
мощно, зачот!
Ответить с цитированием
  #6 (permalink)  
Старый 17.09.2012, 09:45
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

navigator.userAgent.indexOf('ключевое слово')
PS: в принципе не стоит разграничивать код по браузерам
Ответить с цитированием
  #7 (permalink)  
Старый 17.09.2012, 11:54
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

bes,

сенкс, что-то даже не подумал, что можно выцепить с помощью indexOf. В дебри полез
Сообщение от bes Посмотреть сообщение
PS: в принципе не стоит разграничивать код по браузерам
Да не, мне пустячок с курсорами решить надо было.
Ответить с цитированием
  #8 (permalink)  
Старый 17.09.2012, 11:59
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Сообщение от Maxmaxmахimus Посмотреть сообщение
а вообще да ОП, гугл для слабых.
Мне кажется вы переоцениваете гугл
Ответить с цитированием
  #9 (permalink)  
Старый 17.09.2012, 12:03
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от dmitry111
сенкс, что-то даже не подумал, что можно выцепить с помощью indexOf. В дебри полез
главное правильно выбирать ключевые слова, а то некоторые повторяются: Chrome, Firefox, MSIE, Opera, вроде так
Ответить с цитированием
  #10 (permalink)  
Старый 17.09.2012, 12:17
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

да, сафари и хром повторяются. Ну они и работают более или менее идентично.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
где лучше спрятать данные? czp Общие вопросы Javascript 17 04.04.2012 13:08
ajax в каком виде лучше отослать данные Nightmare jQuery 0 13.04.2011 22:12
Что лучше self.open или window.open ? и почему? alb Events/DOM/Window 3 28.07.2010 20:53
Что лучше, display или visibility? FirstFrost Общие вопросы Javascript 1 21.07.2010 05:42
Стоит ли пользоваться библиотеками или лучше писать свой код? lancer Общие вопросы Javascript 5 24.03.2008 19:31