Иллюстрированный самоучитель по созданию сайтов

Простейшие примеры

Обратите внимание на то, что весь блок кода, идущий после условия, должен быть заключен в фигурные скобки. Кстати, эти фигурные скобки играют большую роль в JavaScript. Например, в них всегда можно заключить некоторую последовательность действий, чтобы она интерпретировалась как одно целое (об этом мы еще поговорим ниже).

Чтобы загрузить другую веб-страницу вместо данной, нужно присвоить новое значение свойству window.location.href. Например, если написать:

window.location.href = "msie4.html";

…то текущая страница будет заменена в окне браузера на страницу msie4.html. Давайте перед загрузкой новой страницы создадим соответствующее сообщение:

document.write("Сейчас будет загружена страница для Internet Explorer 4");
setTimeout("window.local ion.href = 'msie4.html'", 3000);

При этом нам пришлось использовать функцию setTimeout, чтобы пользователь успел увидеть нашу надпись.

Поскольку на этом действия, предусмотренные для данного случая, заканчиваются, нужно выйти из блока switch с помощью оператора break. После этого можно приступать к обработке других случаев.

Если тип браузера определился как Netscape, нам нужно опять смотреть его версию. Мы можем использовать для этого оператор if…else:

if (parseint(navigator.appversion) <= 4) {
    document.write("Сейчас будет загружена страница для Netscape 4");
    setTimeout("window, location.href = 'nn4.html'", 3000);
} else {
    document.write("Сейчас будет загружена страница для Netscape 6");
    setTimeout("window.location.href = 'nn6.html'", 3000);
}

Если условие parselnt(navigator.appversion) < 4 верно, то выполняется блок операторов, следующий сразу после условия, а если неверно, то выполняется блок, следующий после ключевого слова else.

Кроме того, нужно предусмотреть действия для всех остальных случаев. Правда, таких случаев будет немного, поскольку многие браузеры (например Opera) любят представляться как Netscape. Однако предусмотреть такие действия все равно надо. Можно, например, предложить пользователю вручную выбрать нужную страницу:

alert("Вы используете неизвестный нам тип браузера. \n
Сейчас вам будет предложено выбрать версию страницы, которую следует загрузить");
document.write("<A HREF='msie4.html'>Страница для Internet Explorer 4</A><BR>");
document.write("<A HREF='nn4.html'>Страница для Netscape 4 </A><BR>");
document.write("<A HREF='nn6.html'>Страница для Netscape 6 </A>");
Итак, теперь посмотрим, что же у нас получается в целом:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
  
<HEAD>
    <TITLE>Автоматический выбор нужной версии страницы</TITLE>
</HEAD>
  
<BODY>
    <SCRIPT>
        < !-
        if (parseint(navigator.appVersion) < 4)
            alert("Вы используете старую версию браузера.\nВ ней страница может отображаться неправильно");
        switch (navigator.appName)
        case "Microsoft Internet Explorer":
            document.write("Сейчас будет загружена страница для Internet Explorer 4");
            setTimeout("window.location.href = 'msie4.html'", 3000);
            break;
        case "Netscape":
            if (parseint(navigator.appversion) <= 4) {
                document.write("Сейчас будет загружена страница для Netscape 4");
                setTimeout("window.location.href = 'nn4.html'", 3000);
            } else {
                document.write("Сейчас будет загружена страница для Netscape 6");
                setTimeout("window.location.href = 'nn6.html'", 3000);
            }
            break;
        default:
            alert("Вы используете неизвестный нам тип браузера.><nСейчас вам будет предложено
выбрать версию страницы, которую следует загрузить");
            document.write("<A HREF='msie4.html'>Страница для Internet Explorer 4</A><BR>");
            document.write("<A HREF='nn4.html'>Страница для Netscape 4</A><BR>");
            document.write("<A HREF='nn6.html>Страница для Netscape 6</A>");
            } // ›
    </SCRIPT>
</BODY>
  
</HTML>

Результат просмотра этой страницы зависит от браузера. На Рис. 6.3 изображено предупреждение, которое получит пользователь при просмотре этой страницы в браузере Internet Explorer.

Иллюстрированный самоучитель по созданию сайтов › Динамические веб-страницы на основе JavaScript › Простейшие примеры
Рис. 6.3. Использование условной переадресации и временной задержки

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.