к оглавлению

Тип браузера (объект Navigator)

В связи с войной браузеров (которая, можно считать, уже закончилась в пользу Microsoft Internet Explorer) стала актуальной задача настройки страницы на конкретную программу просмотра. При этом возможны два варианта: определение типа браузера на стороне сервера и определение типа браузера на стороне клиента. Для последнего варианта в арсенале объектов JavaScript существует объект Navigator. Этот объект — свойство объекта Window.

Рассмотрим простой пример определения типа программы просмотра:

<FORM><INPUT TYPE=button VALUE="Тип навигатора"

onClick="window.alert(window.navigator.userAgent);"></FORM>

При нажатии на кнопку отображается окно предупреждения. В нем содержится строка userAgent, которую браузер помещает в соответствующий HTTP-заголовок.

Эту строку можно разобрать по компонентам, например:

Листинг 2.1

navigator.appName = Microsoft Internet Explorer

navigator.appCodeName = Mozilla

navigator.appVersion = 4.0 (compatible; MSIE 5.5; Windows 98)

navigator.userAgent = Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)

У объекта Navigator есть еще несколько интересных с точки зрения программирования применений. Например, проверка поддержки Java. Проиллюстрируем эту возможность на примере:

Листинг 2.2

<SCRIPT>

document.write("<P ID=red>");

if(navigator.javaEnabled()==true)

document.write("Ваша программа поддерживает исполнение Java-апплетов");

if(navigator.javaEnabled()==false)

document.write("<FONT COLOR=red>Ваша программа не поддерживает исполнение Java-апплетов</FONT>");

</SCRIPT>

</example>

Аналогично можно проверить форматы графических файлов, которые поддерживает ваш браузер:

Листинг 2.3

<SCRIPT>

if(navigator.mimeTypes['image/gif']!=null)

document.write("Ваш браузер поддерживает GIF<BR>");

if(navigator.mimeTypes['image/tif']==null)

document.write("Ваш браузер не поддерживает TIFF");

</SCRIPT>

К сожалению, такая проверка не позволяет определить наличие автоматической подгрузки графики.