Свойство window.navigator
является ссылкой на объект навигатора; это свойство только для чтения, которое содержит информацию о браузере пользователя.
Поскольку объект window
находится в верхней части цепочки областей видимости, к свойствам объекта window.navigator
можно обращаться без указания префикса window
. Свойство window.navigator.language
может быть записана как navigator.language
.
В это разделе мы разберем, как получить различную информацию о браузере пользователя.
Проверка подключения к сети браузера
Вы можете использовать свойство navigator.onLine
, чтобы определить, подключен ли браузер (или приложение) к сети или нет. Это свойство возвращает логическое значение true
, означающее online или false
, означающее offline.
<script>
function checkConnectionStatus() {
if(navigator.onLine) {
alert("Application is online.");
} else {
alert("Application is offline.");
}
}
</script>
<button type="button" onclick="checkConnectionStatus();">Проверить соединение</button>
Браузер запускает онлайн и офлайн события, когда соединение установлено или потеряно. Вы можете прикрепить функции-обработчики к этим событиям, чтобы настроить ваше приложение для онлайн и офлайн сценариев.
Давайте посмотрим на следующий код JavaScript, чтобы увидеть, как это работает:
<script>
function goOnline() {
// Действие, которое нужно выполнить, когда ваше приложение выходит в Интернет
alert("And we're back!");
}
function goOffline() {
// Действие, которое нужно выполнить, когда ваше приложение переходит в автономный режим
alert("Hey, it looks like you're offline.");
}
// Прикрепление обработчика к онлайн-событию
window.addEventListener("online", goOnline);
// Прикрепление обработчика для автономного события
window.addEventListener("offline", goOffline);
</script>
<p>Включите / выключите интернет-соединение, чтобы увидеть, как это работает.</p>
Функция goOffline()
в приведенном выше примере будет вызываться браузером автоматически при каждом отключении соединения, тогда как функция goOnline()
будет автоматически вызываться браузером при изменении состояния подключения на онлайн.
Проверка, включены ли Cookies
Вы можете использовать navigator.cookieEnabled
, чтобы проверить, включены ли cookies в браузере пользователя или нет. Это свойство возвращает логическое значение true
, если куки включены, или false
, если нет.
<script>
function checkCookieEnabled() {
if(navigator.cookieEnabled) {
alert("Cookies включены в вашем браузере.");
} else {
alert("Cookies отключены в вашем браузере.");
}
}
</script>
<button type="button" onclick="checkCookieEnabled();">Проверить включены ли cookie</button>
Вы должны использовать свойство navigator.cookieEnabled
, чтобы определить, включены ли куки-файлы, прежде чем создавать или использовать куки-файлы в вашем коде JavaScript.
Определение языка браузера
Вы можете использовать свойство navigator.language
для определения языка пользовательского интерфейса браузера.
Это свойство возвращает строку, представляющую язык, например, «en», «en-US» и т. д.
<script>
function checkLanguage() {
alert("Your browser's UI language is: " + navigator.language);
}
</script>
<button type="button" onclick="checkLanguage();">Проверить язык</button>
Получение названия браузера и информации о версии
Объект navigator
имеет пять основных свойств, которые предоставляют информацию об имени и версии браузера пользователя. В следующем списке приведен краткий обзор этих свойств:
appName
— возвращает имя браузера. Всегда возвращает «Netscape» в любом браузере.appVersion
— возвращает номер версии и другую информацию о браузере.appCodeName
— возвращает кодовое имя браузера. Возвращает «Mozilla», для всех браузеров.userAgent
— возвращает строку агента пользователя для текущего браузера. Это свойство обычно содержит всю информацию как вappName
, так и вappVersion
.platform
— возвращает платформу, на которой работает браузер (например, «Win32», «ОС WebTV» и т. д.)
Как видно из приведенного выше описания, значение, возвращаемое этими свойствами, вводит в заблуждение и ненадежно, поэтому не используйте их для определения типа и версии браузера пользователя.
<script>
function getBrowserInformation() {
var info = "\n App Name: " + navigator.appName;
info += "\n App Version: " + navigator.appVersion;
info += "\n App Code Name: " + navigator.appCodeName;
info += "\n User Agent: " + navigator.userAgent;
info += "\n Platform: " + navigator.platform;
alert("Here're the information related to your browser: " + info);
}
</script>
<button type="button" onclick="getBrowserInformation();">Получить информацию о браузере</button>
Проверка, включен ли в браузере Java
Вы можете использовать метод javaEnabled()
, чтобы проверить, поддерживает ли текущий браузер Java или нет.
Этот метод просто указывает, включено или выключено использование Java, но не показывает, предлагает ли браузер поддержку Java или Java установлена в системе пользователя или нет.
<script>
function checkJavaEnabled() {
if(navigator.javaEnabled()) {
alert("Ваш браузер поддерживает Java.");
} else {
alert("Ваш браузер не поддерживает Java.");
}
}
</script>
<button type="button" onclick="checkJavaEnabled();">Проверить, включен ли Java</button>