Приднестровская поддержка XOOPS
Получение информации о Web-браузере пользователя. Перенаправление клиента на разные страницы в зависимости от Web-браузера
Объект navigator предоставляет информацию о самом Web-браузере.
Свойства объекта navigator:
□ appName — имя Web-браузера;
□ appcodeName — кодовое имя версии Web-браузера;
□ аррversion — версия Web-браузера;
□ appMinorVersion — вторая цифра в номере версии Web-браузера;
□ userAgent — комбинация свойств appcodeName и appVersion;
□ cpuciass — тип процессора клиентского компьютера;
□ platform — название клиентской платформы;
□ systemLanguage — код языка операционной системы клиента;
□ browserLanguage — код языка Web-браузера;
□ userLanguage — код языка Web-браузера;
□ onLine — режим подключения: true, если клиент в настоящее время подключен к Интернету, и false, если отключен;
□ cookieEnabied — режим работы cookie: возвращает true, если прием cookie разрешен.
Продемонстрируем все на примере (листинг 51).
Листинг 51. Информация о Web-браузере
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Информация о Web-браузере</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<h1 style="text-align: center">Информация о Web-браузере</h1>
<div>
<script type="text/javascript">
<!--
document.write(navigator.appName + " – имя Web-браузера.<br>");
document.write(navigator.appCodeName);
document.write(" – кодовое имя версии Web-браузера.<br>");
document.write(navigator.appVersion + " – версия Web-браузера.<br>");
document.write(navigator.appMinorVersion);
document.write(" – вторая цифра в номере версии Web-браузера.<br>");
document.write(navigator.userAgent + " – комбинация свойств ");
document.write("appCodeName и appVersion.<br><br>");
document.write(navigator.cpuClass);
document.write(" – тип процессора клиентского компьютера.<br>");
document.write(navigator.platform);
document.write(" – название клиентской платформы.<br>");
document.write(navigator.systemLanguage);
document.write(" – код языка операционной системы клиента.<br>");
document.write(navigator.browserLanguage);
document.write(" – код языка Web-браузера (browserLanguage).<br>");
document.write(navigator.userLanguage);
document.write(" – код языка Web-браузера (userLanguage).<br><br>");
if (navigator.onLine) {
document.write("Клиент в настоящее время подключен к Интернету.");
}
else {
document.write("Клиент в настоящее время отключен от Интернета.");
}
document.write("<br>");
if (navigator.cookieEnabled) document.write("Прием cookie разрешен.");
else document.write("Прием cookie запрещен.");
//-->
</script>
</div>
</body>
</html>
Вывести все поддерживаемые свойства и методы объекта navigator позволяет следующий код:
for (var p in navigator) {
document.write(p + " ==> " + navigator[p] + "<br>");
}
Мы уже не раз говорили, что разные Web-браузеры могут по-разному выполнять программный код. По этой причине часто приходится писать персональный код под каждый Web-браузер. В листинге 52 приведен пример скрипта, перенаправляющего клиента на разные страницы в зависимости от названия Web-браузера.
Листинг 52. Перенаправляем клиента на разные страницы в зависимости от названия Web-браузера
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Перенаправляем клиента на разные страницы</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<script type="text/javascript">
<!--
var name1 = navigator.appName;
if (name1.indexOf("Explorer") != -1) {
var Version1 = navigator.appVersion;
var p =/compatible\;\s+\w+\s+(([0-9]+)\.[0-9]+)\;/i;
p.exec(Version1);
if (RegExp.$2=="6") {
window.location.href = "explorer6.html";
}
else {
if (RegExp.$2=="7") {
window.location.href = "explorer7.html";
}
else {
if (parseInt(RegExp.$2)>=8) {
window.location.href = "explorer8.html";
}
else {
window.location.href = "explorer.html";
}
}
}
}
if (navigator.userAgent.indexOf("Firefox") != -1) {
window.location.href = "firefox.html";
}
if (name1.indexOf("Opera") != -1) {
window.location.href = "opera.html";
}
//-->
</script>
<p>Информация для других Web-браузеров</p>
</body>
</html>
В случае с Microsoft Internet Explorer мы проверяем также версию Web-браузера с помощью регулярных выражений. Таким образом, можно написать Web-страницу не только под определенный Web-браузер, но и под определенную его версию. (1)
В разд. 1.16 мы рассмотрели специальный тег, который можно использовать в Web-браузере Internet Explorer. Для языка JavaScript Internet Explorer также предоставляет условные комментарии. Они начинаются с комбинации символов /*@сс_оп и заканчиваются комбинацией @*/:
/*@cc_on
window.alert("Это инструкция для Internet Explorer");
@*/
Внутри такой конструкции могут быть указаны ключевые слова @if, ©else и @end. Например, выполнить один блок выражений только в Internet Explorer, а другой блок в остальных Web-браузерах позволяет следующий код:
/*@cc_on
@if (@_jscript)
window.alert("Это сообщение выведет Internet Explorer");
@else*/
// Этот блок в IE выполнен не будет
window.alert("А это сообщение в другом Web-браузере");
/*@end
@*/
Отправитель | Нити |
---|
7 пользователь(ей) активно (2 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 7 далее... |