Книга: JavaScript. Подробное руководство, 6-е издание

Navigator

Navigator

информация о веб-броузере

Объект Navigator содержит свойства, описывающие используемый веб-броузер. Посредством этих свойств можно выполнить специфическую для платформы настройку сценария. Имя этого объекта, очевидно, ссылается на броузер Netscape Navigator, тем не менее все броузеры поддерживают этот объект. Имеется только один экземпляр объекта Navigator, к которому можно обращаться через свойство navigator любого объекта Window.

Исторически объект Navigator использовался для «опознавания клиента», позволяя выбирать, какой фрагмент программного кода выполнять в зависимости от типа броузера. В примере 14.3 демонстрируется простейший прием, а в сопутствующем ему описании в разделе 14.4 упоминается масса ловушек, которые имеются в объекте Navigator. Наилучший способ проверки совместимости, не зависящий от типа броузера, описывается в разделе 13.4.3.

Свойства

readonly string appName

Имя броузера. Для броузеров, созданных на основе Netscape, значение этого свойства равно «Netscape». В Internet Explorer оно равно «Microsoft Internet Explorer». Для совместимости с существующим программным кодом многие броузеры возвращают старую, не соответствующую действительности, информацию.

readonly string appVersion

Информация о версии и платформе броузера. Для совместимости с существующим программным кодом в большинстве броузеров это свойство возвращает устаревшую информацию.

readonly Geolocation geolocation

Ссылка на объект Geolocation для данного броузера. Методы этого объекта позволяют сценариям запрашивать текущее географическое местонахождение пользователя.

readonly boolean onLine

Имеет значение false, если броузер не будет предпринимать попыток загрузить что-либо из сети. Это может быть обусловлено тем, что броузер выполняется на компьютере, не подключенном к сети, или тем, что пользователь настроил броузер на автономную работу. Если броузер будет предпринимать пытаться загрузить что-либо (потому что компьютер подключен к сети), это свойство будет иметь значение true. Когда значение этого свойства изменяется, броузер возбуждает события «online» и «offline» в объекте Window.

readonly string platform

Название операционной системы и/или аппаратной платформы, на которой выполняется броузер. Стандартный набор значений для этого свойства не определен, но вот некоторые типичные значения: «Win32», «МасРРС» и «Linux І586».

readonly string userAgent

Значение, которое броузер подставляет в заголовок user-agent в НТТР-запросах. Например:

Mozilla/5.0 (XII; U; Linux І686; en-US)

AppleWebKit/534.16 (KHTML, like Gecko)

Chrome/10.0.648.45 Safari/534.16

Методы

void registerContentHandler(string mimeType, string url, string title)

Этот метод выполняет запрос на регистрацию url как обработчика, используемого для отображения содержимого типа mimeType. Аргумент title - заголовок сайта, который может отображаться перед пользователем. Аргумент url должен содержать строку «%s*. Когда этот обработчик содержимого должен будет использоваться для обработки веб-страницы указанного типа mimeType, URL-адрес этой веб-страницы будет закодирован и вставлен в url на место «%s». Затем броузер перейдет по получившемуся URL-адресу. Это новый метод, введенный спецификацией HTML5, и он может быть реализован не во всех броузерах.

void registerProtocolHandler(string scheme, string url, string title)

Действует подобно методу registerContentHandler(), но регистрирует веб-сайт для использования в качестве обработчика схемы протокола scheme, указанного в URL-адресе. Аргумент scheme должен быть строкой, такой как «mailto» или «sms» без двоеточия. Это новый метод, введенный спецификацией HTML5, и он может быть реализован не во всех броузерах.

void yieldForStorageUpdates()

Сценарии, использующие объекты Document.cookie, Window.localStorage и Window.sessionstorage (cm. Storage и главу 20), не имеют возможности определять, производятся ли изменения в хранилище параллельно выполняющимися в разных окнах сценариями (с тем же происхождением). Броузеры могут (хотя на момент написания этих строк такую возможность поддерживали не все броузеры) предотвратить параллельные изменения с помощью механизма блокировок, подобного тому, что используется в базах данных. В броузерах, поддерживающих такую возможность, этот метод неявно освобождает блокировку, предоставляя возможность сценариям в других окнах сохранить свои изменения. Значения, извлекаемые из хранилища после вызова этого метода, могут отличаться от тех, что извлекались перед его вызовом.

Оглавление книги


Генерация: 0.470. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз