Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/98: Рейтинг темы: голосов - 98, средняя оценка - 4.85
2 / 2 / 0
Регистрация: 01.12.2009
Сообщений: 16
1

Точное определение браузера

02.12.2009, 17:32. Показов 19964. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Извините за дублирование темы, но решение на javascript и мнение людей которые знают javascript (в том числе и java) меня тоже интересует, подробнее здесь: [ Решение] Точное определение браузера?

Спасибо
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2009, 17:32
Ответы с готовыми решениями:

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

Определение максимальной высоты окна браузера
Здравствуйте, Никак не могу найти решение для следующей задачи: Как Вы знаете у каждого типа...

Определение браузера и вывод определенного контента
Подскажите пожалуйста как решить проблему. Запилил на сайт видео с помощью тега video в форматах...

Определение реального размера окна браузера на мобильном
Всем доброго, помогите плиз... а то не знаю что и делать. Мне нужно в зависимости от размеров окна...

12
2773 / 341 / 22
Регистрация: 15.01.2008
Сообщений: 2,614
02.12.2009, 18:26 2
Лучший ответ Сообщение было отмечено как решение

Решение

Ну тут несколько методов.

  • Самый банальный - обработка юзер агента. Для этого надо найти разные юзерагенты в сети на спец. Ресурсах и сравнить их. Вот например:
    Javascript
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    var useragent=navigator.userAgent;
    var navigatorname;
    if (useragent.indexOf('MSIE')!= -1)
    {
        navigatorname="MSIE";
    }
    else if (useragent.indexOf('Gecko')!= -1)
    {
        if (useragent.indexOf('Chrome')!= -1)
        navigatorname="Google Chrome";
        else navigatorname="Mozilla";
    }
    else if (useragent.indexOf('Mozilla')!= -1)
    {
        navigatorname="old Netscape or Mozilla";
    }
    else if (useragent.indexOf('Opera')!= -1)
    {
        navigatorname="Opera";
    }
    alert(navigatorname)
    Плюсы - удобность, и некая "детальность". Минусы - не работает у тех, кто специально меняет юзерагент
  • Свойство "navigator.appName"
    Javascript
    1
    
    alert(navigator.appName)
    Минусы - значение не полное. Как то интернет эксплорер выдаёт полное название ие, а файрфокс и хром выдают слово "нетскейп", также это свойство можно легко подделать.
  • Распознования браузера "левым" путём: Это использование характерных свойств браузера или DOM присущих только определенным браузерам. Ну например если заставить этот код выполняться:
    Javascript
    1
    
    if (document.all) alert("true"); else alert("false")
    только в эксплорере будет высвечиваться "true"

Добавлено через 1 минуту
Вот ресурс где можно достать агенты - http://www.user-agents.org/
2
213 / 107 / 15
Регистрация: 28.01.2009
Сообщений: 481
02.12.2009, 23:39 3
А можно поинтересоваться для чего, так сказать, взымается плата за осмотр Провала? Сиречь огласите конечную цель предприятия?
0
2 / 2 / 0
Регистрация: 01.12.2009
Сообщений: 16
03.12.2009, 06:01  [ТС] 4
Vanstorm, спасибо, но на счет USER_AGENT я писал, что это не самый точный метод, хотелось бы найти решение которое будет определять точно например браузер, на счет 3-его метода, т.н. "левого", интересно, но универсальность мне кажется сложно будет добиться, потому как, этими методами, насколько мне известно, можно узнать только ИЕ (методов от комментариев в CSS и некоторого кода в JS), а вот остальные браузеры ведут себя одинакова в большинства случаев.
0
2773 / 341 / 22
Регистрация: 15.01.2008
Сообщений: 2,614
03.12.2009, 14:56 5
Вопрос интересный. Нет если смотреть по особенностям нарыть всётаки можно. Например:
HTML5
1
<div id="divid">ss</div>
Javascript
1
if (document.getElementById("divid").namespaceURI) alert ("true"); else alert("false");
В хроме у меня выскакивает "тру" а в файрфоксе и ие - фолс.
Да с этим очень сложно. Можно легко определить ie и я думаю старый нетскейп - у него тоже было куча фирменных штучек, а вот конкретный браузер - сложнее. нужно долго мучить справочник. Сейчас все нормальные браузеры перешли на дом, а вот ие - нет. вот отсюда и оно.
1
201 / 199 / 4
Регистрация: 13.06.2012
Сообщений: 1,009
Записей в блоге: 3
23.10.2012, 19:26 6
Скажите какой смысл в том что вы определите браузер?
0
tribal dance
168 / 156 / 36
Регистрация: 03.09.2009
Сообщений: 820
Записей в блоге: 17
24.10.2012, 14:00 7
Цитата Сообщение от basili4 Посмотреть сообщение
Скажите какой смысл в том что вы определите браузер?
смысл в том, что идентифицированный браузер, например ослик - будет получить "обезжиренную порцию кода", которую он, зараза, в состоянии переварить, остальные будут кушать "лакомые кусочки".
0
201 / 199 / 4
Регистрация: 13.06.2012
Сообщений: 1,009
Записей в блоге: 3
24.10.2012, 14:05 8
EPMAK скажите вы видите разницу между IE6 и IE9 ?
0
tribal dance
168 / 156 / 36
Регистрация: 03.09.2009
Сообщений: 820
Записей в блоге: 17
24.10.2012, 14:16 9
Цитата Сообщение от basili4 Посмотреть сообщение
EPMAK скажите вы видите разницу между IE6 и IE9 ?
непонял вопрос, разница огромна ..
IE7-8 иногда также капризны, как и IE6.
0
201 / 199 / 4
Регистрация: 13.06.2012
Сообщений: 1,009
Записей в блоге: 3
24.10.2012, 14:29 10
EPMAK, вот смотрите что бы правильно сформировать код который будет работать в браузере надо знать в каком браузере какие функции реализованы. И в зависимости от этого действовать так вот я не понимаю зачем ! Я предлагаю несколько другой способ проверять наличие некой функциональности в в браузере. Вот пример проект modernizr http://modernizr.com/ он проверяет наличие какой то фишки HTML5 в браузере. Именно фишки а не конкретного браузера.
0
tribal dance
168 / 156 / 36
Регистрация: 03.09.2009
Сообщений: 820
Записей в блоге: 17
24.10.2012, 14:37 11
Цитата Сообщение от basili4 Посмотреть сообщение
modernizr
basili4, все верно пишите.
но, Иногда бывают исключения, задачи разные бывают и реализация их тоже.
0
201 / 199 / 4
Регистрация: 13.06.2012
Сообщений: 1,009
Записей в блоге: 3
24.10.2012, 15:35 12
ни разу за мою практику не требовалось узнать браузер для чего нибудь другого кроме как определится с его возможностями. JQuery планируется в бушующем удалить методы определения браузера.
0
Эксперт JSЭксперт HTML/CSS
2435 / 1114 / 312
Регистрация: 23.06.2011
Сообщений: 3,525
25.10.2012, 07:38 13
определение браузера
0
25.10.2012, 07:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2012, 07:38
Помогаю со студенческими работами здесь

Определение браузера (document.getElementById && !document.all ? 1 : 0;)
Добрый день! На форуме (https://www.cyberforum.ru/javascript/thread366501.html) наткнулся на такую...

Точное время на своей странице
Цель: Вытащить точное время с сайта и натянуть эти данные на свой сайт Есть скрипт, который...

Узнать точное время в милисекундах по Гринвичу
Можно ли как то узнать точное время ( в милисекундах) по Гринвичу, а не по компьютеру пользователя?...

Определение размеров окна браузера в реальном времени
Здравствуйте всем! Нужна помощь по определению размеров в реальном времени. Вот код , который...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru