Как перенаправить посетителя на другую Web-страницу?Проблема Мне нужно перенаправить посетителя на другую Web-страницу. Есть ли какие-то способы сделать это? Решение 1 Использовать метатег следующего вида: <МЕТА HTTP-EQUIV= "Refresh" CONTENT="<Тайм-аут>; URL,=<Интернет-адрес"> Этот метатег записывается в заголовке Web-страницы (в теле <head>). Встретив его, Web-обозреватель через указанный в секундах Тайм-аут откроет Web-страницу С заданным Интернет-адресом. Достоинство этого способа в том, что он работает всегда, даже если исполнение Web-сценариев было отключено пользователем Web-обозревателя. Недостаток — "статичность"; перенаправление выполняется всегда, в любом случае (из-за этого его называют статичным перенаправлением). Народ советует Этот способ лучше использовать в тех случаях, когда сайт меняет свой интернет-адрес. В этом случае по старому адресу оставляют страницу, содержащую указанный выше метатег, в параметрах которого записан новый интернет-адрес сайта. Решение 2 Присвоить нужный интернет-адрес свойству href объекта location, вложенного В объект window. Этот же способ имеет то неоспоримое достоинство, что позволяет перенаправить посетителя на разные страницы в зависимости от каких-либо условий (например, используемого им Web-обозревателя). Поэтому такое перенаправление называется динамическим. Пример 1 Вот HTML-код Web-странички, выполняющей перенаправление на другую страницу через 5 секунд после ее открытия: <HTML> <HEAD> <TITLE>Перенаправление</TITLE> <SCRIPT TYPE="text/javascript"> function bodyOnLoad() { window.setTimeout(goToOtherPage, 5000); } function goToOtherPage() { window.location.href = "OtherPage.html"; } </SCRIPT> </HEAD> <BODY ONLOAD="bodyOnLoad();"> <Р>Внимание! Через 5 секунд вы будете перенаправлены на другую Web-страницу.</Р> </BODY> </HTML> Метод setTimeout вызывает функцию, переданную в качестве первого параметра, через заданное вторым параметром количество миллисекунд. В нашем случае задано 5000 миллисекунд — 5 секунд. Пример 2 А вот еще одна Web-страница, перенаправляющая пользователей Internet Explorer на одну страницу, а пользователей других Web-обозревателей — на другую: <HTML> <HEAD» <TITLE>Перенаправление</TITLE> <SCRIPT TYPE="text/javascript"> function bodyOnLoad() { var piObject = jspsGetProgramlnfо(); if (piObject.programlnfo == JSPS_GPI_MSIE) window.location.href = "index_ie.html" else window.location.href = "index_others.html" } </SCRIPT> </HEAD> <BODY ONLOAD="bodyOnLoad();"> </BODY> </HTML> Внимание! Приведенный пример использует функцию jspsGetPrograminfo, чье объявление представлено в листинге 3.1.
|