|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
JavaScript 1.1: добавлены свойства mimeTypes и plugins; добавлены методы javaEnabled и taintEnabled. JavaScript 1.2: добавлены свойства language и platform; добавлены методы preference и savePreferences. |
Машина выполнения JavaScript на стороне клиента создаёт объект navigator автоматически.
Используйте объект navigator для определения версии используемого Navigator'а (браузера), какие MIME-типы может обрабатывать Navigator пользователя и какие plug-in'ы установлены у пользователя. Все свойства объекта navigator - только для чтения/read-only.
| Свойство |
ОписаниеappCodeName
| appName
| appVersion
| language
| mimeTypes
| platform
| plugins
| userAgent Специфицирует шапку/header user-agent (пользовательский агент). |
|---|
| Метод |
ОписаниеjavaEnabled
| plugins.refresh Делает вновь установленные plug-in'ы доступными и по выбору перезагружает открытые документы, содержащие plug-in'ы. preference Даёт возможность помеченному скрипту получать и устанавливать определённые настройки Navigator'а. savePreferences
| taintEnabled |
|---|
Кроме того, этот объект наследует методы watch и unwatch из объекта Object.
Строка, специфицирующая кодовое имя браузера.
Здесь выводится значение свойства appCodeName:
document.write("The value of navigator.appCodeName is " +
navigator.appCodeName)
Для Navigator'а 2.0 и позднее будет выведено:
The value of navigator.appCodeName is Mozilla
Строка, специфицирующая имя браузера.
Здесь будет выведено значение свойства appName:
document.write("The value of navigator.appName is " +
navigator.appName)
Для Navigator'а 2.0 и 3.0 будет выведено:
The value of navigator.appName is Netscape
Строка, специфицирующая информацию о версии Navigator'а.
Свойство appVersion специфицирует информацию о версии в следующем формате:
releaseNumber (platform; country)Пример 1. Выводится номер версии Navigator'а:
document.write("The value of navigator.appVersion is " +
navigator.appVersion)
Для Navigator 2.0 в Windows 95 будет выведено:
The value of navigator.appVersion is 2.0 (Win95, I)
Для Navigator 3.0 в Windows NT будет выведено:
The value of navigator.appVersion is 3.0 (WinNT, I)
Пример 2. Объект Textarea заполняется символами новой строки. Поскольку эти символы различны на разных платформах, пример тестирует свойство appVersion, чтобы определить, используется ли Windows (appVersion содержит "Win" для всех версий Windows). Если пользователь работает в Windows, символ новой строки будет \r\n; иначе - \n, то есть символ новой строки в Unix и Macintosh.
ПРИМЕЧАНИЕ: Этот код нужен только для JavaScript 1.0. Версии JavaScript от 1.1 и позднее проверяют все символы новой строки перед установкой строкового значения и транслируют их для имеющейся пользовательской платформы.
<SCRIPT>
var newline=null
function populate(textareaObject){
if (navigator.appVersion.lastIndexOf('Win') != -1)
newline="\r\n"
else newline="\n"
textareaObject.value="line 1" + newline + "line 2" + newline
+ "line 3"
}
</SCRIPT>
<FORM NAME="form1">
<BR><TEXTAREA NAME="testLines" ROWS=8 COLS=55></TEXTAREA>
<P><INPUT TYPE="button" VALUE="Populate the Textarea object"
onClick="populate(document.form1.testLines)">
</TEXTAREA>
</FORM>
javaEnabled()
javaEnabled возвращает true, если Java включён; иначе - false. Пользователь может включить и отключить Java в установках пользователя.
выполняется функция function1, если Java включён; иначе выполняется function2.
if (navigator.javaEnabled()) {
function1()
}
else function2()
Указывает используемую локализацию Navigator'а.
Значение языка/language это обычно 2-буквенный код, такой как "en", иногда - 5-символьный код, указывающий также подтип языка, такой как "zh_CN".
Используйте это свойство для определения языка клиентского программного обеспечения Navigator'а. Например, Вы можете отобразить пользователю локализованный текст.
Массив всех MIME-типов, поддерживаемых клиентом.
Массив mimeTypes содержит вхождение для каждого MIME-типа, поддерживаемого клиентом (внутренне - через вспомогательные приложения, или через plug-in'ы). Например, если клиент поддерживает три MIME-типа, эти MIME-типы отражаются как navigator.mimeTypes[0], navigator.mimeTypes[1] и navigator.mimeTypes[2].
Каждый элемент массива mimeTypes это объект MimeType.
Для получения количества поддерживаемых mime-типов используйте свойство length: navigator.mimeTypes.length.
Указывает тип машины, для которого скомпилирован Navigator.
Значения платформ: Win32, Win16, Mac68k, MacPPC и различные варианты Unix.
Тип машины, для которого Navigator скомпилирован, может отличаться от реального типа машины по причине различий версий, разных эмуляторов или по другим показателям.
Если Вы используете SmartUpdate для загрузки программного обеспечения на пользовательскую машину, Вы можете использовать это свойство, чтобы убедиться, что тригер загружает соответствующие JAR-файлы. Страница-переключатель/тригер проверяет версию Navigator'а перед проверкой свойства platform. Об использовании SmartUpdate см. Using JAR Installation Manager for SmartUpdate.
Массив всех plug-in'ов, установленных в данный момент на клиенте.
Вы можете обратиться к Plugin-объектам, установленным на клиенте, используя этот массив. Каждый элемент массива plugins это Plugin-объект. Например, если на клиенте установлены три plug-in'а, они отражаются как navigator.plugins[0], navigator.plugins[1] и navigator.plugins[2].
Две формы использования массива plugins:
1. navigator.plugins[index]
2. navigator.plugins[index][mimeTypeIndex]
index это целое число, представляющее plug-in, установленный на клиенте, или строка содержащая имя Plugin-объекта (из свойства name). Первая форма возвращает Plugin-объект, хранимый в специфицированном месте в массиве plugins. Вторая форма возвращает MimeType-объект по специфицированному индексу в этом Plugin-объекте.
Для получения общего количества plug-in'ов, установленных на клиенте, используйте свойство length: navigator.plugins.length.
plugins.refresh Массив plugins имеет свой собственный метод refresh. Этот метод делает доступными вновь установленные plug-in'ы, обновляет соответствующие массивы, такие как plugins и по выбору перезагружает открытые документы, содержащие plug-in'ы. Этот метод вызывается одним из следующих операторов:
navigator.plugins.refresh(true)
navigator.plugins.refresh(false)
Если Вы задаёте true, refresh обновляет массив plugins, чтобы сделать вновь установленные plug-in'ы доступными, и перезагружает все открытые документы, содержащие внедрённые объекты (тэг EMBED). Если Вы задаёте false, массив plugins обновляется, но открытые документы не перезагружаются.
Если пользователь устанавливает plug-in, этот plug-in недоступен, пока не будет вызван метод refresh или пока пользователь не закроет и не рестартует Navigator.
Этот код обновляет массив и перезагружает открытые документы, содержащие внедрённые объекты:
navigator.plugins.refresh(true)
См. также примеры для объекта Plugin.
Позволяет помеченному скрипту получать и устанавливать определённые настройки Navigator'а.
preference(prefName[, setValue])
prefName | Строка - имя настройки, значение которой Вы хотите получить или установить. Допустимые значения перечислены ниже. |
setValue | Значение, которое Вы хотите присвоить настройке. Это может быть строка, число или Булево значение. |
Этот метод возвращает значение настройки. Если Вы используете этот метод для установки настройки, он возвращает новое значение.
При наличии разрешения Вы можете получать и устанавливать настройки, показанные в таблице:
Таблица 1.2 Настройки.| Чтобы ... | установите в эту настройку ... |
это значение ...|
| general.always_load_images
| security.enable_java
| javascript.enabled
| browser.enable_style_sheets
| autoupdate.enabled
| network.cookie.cookieBehavior
|
| network.cookie.cookieBehavior
| network.cookie.cookieBehavior
|
| network.cookie.warnAboutCookies |
|---|
Чтение настройки методом preference требует привилегии UniversalPreferencesRead. Установка настройки этим методом требует привилегии UniversalPreferencesWrite. об безопасности см. книгу Клиентский JavaScript. Руководство.
Сохраняет настройки Navigator'а в локальном файле prefs.js.
Сохранение пользовательских настроек требует привилегии UniversalPreferencesWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.
SavePreferences()
Этот метод немедленно сохраняет текущие настройки Navigator'а в пользовательском файле настроек prefs.js. Navigator также сохраняет настройки автоматически при выходе из программы.
Специфицирует, включено ли по умолчанию разрушение данных.
navigator.taintEnabled()
Разрушение данных предотвращает передачу секретной/закрытой информации, такой как структура директорий или история пользовательских сессий. JavaScript не может передать разрушенные значения на любой сервер без окончания действия разрешений конечного пользователя.
Используйте taintEnabled для определения того, включено ли по умолчанию разрушение данных. taintEnabled возвращает true, если разрушение данных включено, иначе - false. Пользователь включает или отключает разрушение данных, используя переменную окружения NS_ENABLE_TAINT.
Выполняется функция function1, если разрушение данных включено; иначе - выполняется function2.
if (navigator.taintEnabled()) {
function1()
}
else function2()
Строка, представляющая значение шапки user-agent, пересылаемой по HTTP-протоколу с клиента на сервер.
Сервер использует значение, пересылаемое в шапке user-agent, для идентификации клиента.
Выводится информация userAgent для Navigator'а:
document.write("The value of navigator.userAgent is " +
navigator.userAgent)
Для Navigator 2.0 будет выведено следующее:
The value of navigator.userAgent is Mozilla/2.0 (Win16; I)Оглавление | Назад | Вперёд | Индекс
Дата последнего обновления: 28 мая 1999 года.
Copyright (c) 1999 Netscape Communications Corporation
|