|    | 
СИ-БИ техника | КВ техника | УКВ техника | Радиоизмерения | Защита от TVI | Источники питания | Софт | Расчеты | return_links(); ?>
Справочники
Главная arrow Программирование arrow Java arrow Как получить сведения о Web-обозревателе  

Как получить сведения о Web-обозревателе

Оглавление
Как получить сведения о Web-обозревателе
Страница 2
Страница 2 из 2

Лаконичные Mozilla, Firefox и Navigator не принесут нам таких сюрпризов, как многоликий (даже чересчур) Web-обозреватель Opera. Формат выдаваемого ими значения свойства appversion таков:

<Версия исходного кода ядра> (<Олерационная система>; <Язык>) Автор получил такое значение для русской версии Firefox 1.5.0.3:

5.0 (Windows; ru)

для Mozilla 1.7 и Navigator 7 preview 1:

5.0 (Windows; en-US)

Народ предупреждает!

Заметим, что Mozilla и Navigator выдают пятибуквенный код языка, например, "ru-RU" для русского или "en-US" для американского английского. Все остальные Web-обозреватели выдают двухбуквенный код языка, например, "ru" или "еп".

Значение, возвращаемое свойством userAgent, также сильно зависит от Web-обозревателя. Internet Explorer, например, выдаст вот что:

<3начение свойства appCodeName>/<Значение свойства appVersion>

Например:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1,1.4322)

Web-обозреватель Opera, "притворяющийся" Internet Explorer 6.0 или Mozilla 5.0, при обращении к свойству userAgent выдаст такую же строку:

<3начение свойства appCodeName>/<Значение свойства appVersion> Opera<Версия Орега>

Например,

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.54

в режиме совместимости с Internet Explorer 6.0 и

Mozilla/5.0 (Windows NT 5.1; U; ru) Opera 8.54

в режиме совместимости с Mozilla 5.0. Заметим, то в обоих случаях в конце строки указывается версия Opera, так что мы всегда сможем выяснить, Opera ли это.

Web-обозреватель Opera, "представляющийся самим собой", выдаст такое значение этого свойства:

<3начение свойства appCodeName>/<Значение свойства appVersion>

т. е. как и Internet Explorer. Например:

Opera/8.54 (Windows NT 5.1; U; ru)

Firefox, как обычно, идет своим путем. Значение свойства userAgent в его случае будет таким:

Mozilla/<Версия исходного кода ядра>(<Название операционной системы>; U|l; <Версия операционной системы>;<Язык>; <Ближайшая версия Mozilla>) <Версия программного ядра>Firefox/<Версия Firefox>

Например:

Mozilla/5.0 (Windows; U; Windows NT 5.1; rU; rv:1.8.0.3) Gecko/20060426Firefox/1.5.0.3

Народ поясняет

Gecko — это название программного ядра Firefox. На этом ядре также построен его "прародитель" Mozilla (ныне — SeaMonkey).

На очереди — Mozilla. Он в этом смысле мало отличается от своего "потомка" Firefox и выдаст вот что:

Mozilla/<Версия исходного кода ядра>(<Название операционной системы>; U|I; <Версия операционной системы>;<Язык>; <Версия Mozilla>) <Версия программного ядра>

Например:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040616

Что касается "ветерана" Navigator, то вот формат его значения свойства

userAgent:

Mozilla/<Версия исходного кода ядра>(<Название операционной системы>; U|I; <Версия операционной системь>;<Язык>; <Ближайшая версия Mozilla>) <Версия программного ядра>Netscape/<Версия $avigator>

На своем компьютере автор получил вот что:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.0rc2) Gecko/20020512Netscape/7.0b1

Народ замечает                                                                                     

Да, со свойствами appVersion и userAgent каши не сваришь... Мало того, что они возвращают довольно сложную строку, которую еще нужно разобрать, так еще и строка эта разная для разных программ Web-обозревателей (и даже для различных режимов работы в случае Opera). Хотя, так ли уж часто нам нужны версия программного ядра или точные сведения о .NET... Да и точная версия Web-обозревателя нужна не так уж и часто.

Пример

Вот простенькая Web-страничка, выводящая язык, поддерживаемый программой Web-обозревателя (русский или английский):

<HTML> <HEAD>

<TITLE>Язык Web-обозревателя</TITLE> </HEAD> <BODY>

<SCRIPT TYFE="text/javascript"> var langName = ""; if (navigator.appName == "Microsoft Internet Explorer")

langName = navigator.browserLanguage else

langName = navigator.language; switch (langName.substring(0, 2)) { case "ru":

langDesc = "русский"; break; case "en":

langDesc = "английский"; break; default:

langDesc = "<He установлена>"; } document.write("<Р>Язык, поддерживаемый вашим Web-обозревателем, -" + langDesc + ".</P>"); </SCRIPT> </BODY> </HTML>

Заметим, что язык проверяется по первым двум символам строки, возвращаемой свойством browserLanguage или language. Это нужно для поддержки Mozilla и Navigator, которые, как мы уже знаем, возвращают пятибуквенный код языка.


« Пред. - След.


CitRadio.com - Электроника и компьютеры

0.1504