![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Решил написать свой сниффер, чтобы было удобство в кодах далее. В общем столкнулся с такой проблемой:
Не могу отличить Mozilla от Netscape =\ И еще, дайте совет, что лучше: проверять браузер только по свойству и userAgent или по всем-всем обособленным свойствам. Т.е. так:
или же кроме document.layers, скажем, писать все-все свойства только NN? Кстати, не нужно ругаться на то, что стал по userAgent проверять. Это намеренно. Это сообщение отредактировал(а) Aliance - 29.6.2005, 17:34 |
|||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
По идее это NN4, так как Gecko document.layers не поддерживает. Другой вопрос, зачем определять браузер? Определяй есть ли нужная тебе фича, если нет, то догружай код. Добавлено @ 17:41 Елки, ты уже свой пост подредактировал, но всё равно на userAgent ругаться буду ![]() -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
Black |
|
|||
![]() Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Вот, кой-чего написал:
Будут предложения по усовершенствованию??? -------------------- Могу все, но ничего не умею :-) |
|||
|
||||
Aliance |
|
||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Это да. Не спорю. Я написал первое что в голову пришло. Естественно, так не будет ![]() Тут важен сам алгоритм.
В том-то и дело, что я пишу снифер, а не просто определяю ИЕ это или НН. Мне нужно наибольшая точность. Но не могу ее обеспечить путем научного тыка, т.к. дома стоят следующие браузеры:
То, что ты написал - совсем не то. Кроме того, неполноценно. И еще, если можно, не нужно писать готовый код, мне нужен совет по алгоритму ![]() Это сообщение отредактировал(а) Aliance - 1.7.2005, 13:17 |
||||
|
|||||
Black |
|
|||
![]() Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Aliance
единственное что приходит на ум, так это определять браузер по поддерживаемым свойствам. User-agent не катит, его можно поменять. Вот только бы знать какие свойства появились в определенной версии определенного браузера. Хотя сначала надо по какому-то уникальному свойству для браузера выяснить что этот браузер имеет такое название, а затем уже сделать для него действия для определения его версии. 1) выясняем название 2) выясняем версию Типа так:
Я бы так делал ![]() Хотя сниффер меня как-то не очень интересует, зачем он нужен??? Даже тот код который я привел правильно определить браузер в 99% случаев, разве только версию не определяет, но я бы ее из user-agenta выдрал, все-таки редко люди меняют user-agent. Это сообщение отредактировал(а) PHP-DIRECTOR - 30.6.2005, 19:31 -------------------- Могу все, но ничего не умею :-) |
|||
|
||||
Aliance |
|
||||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Это не такое простое дело как кажется.
Нужно сперва точно определять браузеры. Со 100% шансом. Версии нетрогать! Итак, известные мне браузеры, кто знает еще - пополняем список:
Самое легкое - определить Оперу. Но я это могу сказать только для Оперы 7 с уверенностью. Нужно знать как минимум для 8ой и 6ой. У кого есть - протестите:
Все нужно определять в циклах if, иначе из-за Оперы все будет глючить. Первой ее определяем, т.е. так:
Далее ИЕ... это все получилось. НЕ получилось одно: Как отличить ФФ, Мозилла и НН друг от друга? Добавлено @ 13:25 Про user-agent говорить ничего не нужно! Вообще! Это намерено! Это сообщение отредактировал(а) Aliance - 1.7.2005, 13:25 |
||||||
|
|||||||
Black |
|
||||
![]() Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Aliance
Opera 8 дает YES, короче работает в восьмерке данный код.
наверное, это практически невозможно, только user-agent Хотя, пользователи этих браузеров, как раз и меняют эти юзер-агенты чаще, чем пользователи других смотрелок. Только зачем их отличать они же Mozilla - одно и тоже, skin'ы только разные ![]() -------------------- Могу все, но ничего не умею :-) |
||||
|
|||||
Aliance |
|
||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Ну так поидеи и должно быть, раз в 7ой работает. Меня интересует на самом делел намного больше 6ой. Но все же спасибо.
Этого было бы вполне достаточно. Я никогда в глаза не видел Лисы, так что вообще про нее ничего не знаю. Так а как отличить НН от Мозиллы? Они же по разному поддерживают W3C DOM. |
||||
|
|||||
Zaman |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 219 Регистрация: 28.6.2004 Репутация: 1 Всего: 2 |
||||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
То что там написано - это примитивно. Это не снифер! Сколько повторять.
Вот, тут нормально: http://www.mozilla.org/docs/web-developer/...owser_type.html
Это сообщение отредактировал(а) Aliance - 1.7.2005, 19:41 |
|||
|
||||
Black |
|
|||
![]() Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Aliance
в этом коде что ты привел браузеры по user-agent'y определяются. Жаль что не по поддерживаемым свойсвам, а то бы много интересного узнали ![]() -------------------- Могу все, но ничего не умею :-) |
|||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Нет, оба поставленны на одном движке, разница в примочках юзера, основа: DOM, рендеринг, JS, плагиновая подсистема и т.п. едино. Мы говорим о Нетскейпе 7+ ![]() -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Sardar
NN 5 и 6 списываем со считов? Жаль... А ИЕ 5 и 5.5. тогда тоже? Я же знаю (знал), что Мозилла более твердо соблюдает стандарты, а отличие от НН. Или я не прав? И что такое Сафари - это браузер или ОС? |
|||
|
||||
Black |
|
|||
![]() Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Aliance
Сафари - это браузер для компьютеров Mac (короче для операционой системы компьютеров Mac). Еще под маки есть IE, только он там вообще глюченный какой-то. Наверное, среди нас мало человек, которые видели эти браузеры в глаза. Я лично не видел и не увижу ![]() ИМХО NN уже умер, последняя восьмая версия это гибрид IE и FireFox со своим дизайном и дополнительными фишками. Т.е. этот браузер уже полностью работает на движке IE and Gecko. Тех, кто пользуется NN я никогда не видел, и, надеюсь, не увижу.
Ими люди пользуются, поэтому их списывать еще нельзя. Это сообщение отредактировал(а) PHP-DIRECTOR - 2.7.2005, 14:18 -------------------- Могу все, но ничего не умею :-) |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Вот тут и проблема, ИЕ 5 не поддерживает множество вещей, реально нужных...
Итак, через 2-3 дня выложу, что получилось. |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |