<SCRIPT LANGUAGE="JavaScript" type="text/JavaScript">
function foo() {
open("http://www.kansoftware.ru/", "_parent");}
</SCRIPT>
<title>Внимание, я переехал!</title><BODY onLoad="foo();">
<h1>Внимание, я переехал!</h1>
<p>Мой новый адрес <a href="http://www.kansoftware.ru/">http://www.kansoftware.ru/
</a></p>
</BODY>
Фактически: во время загрузки страницы браузер должен перекинуть Вас на новую страницу. Если браузер не может этого сделать по той или иной причине, то появится сообщение о том, что адрес изменился.
Это простой сценарий JavaScript для редиректа страницы, который изменяет URL текущей страницы на новый при загрузке страницы.
Вот как это работает:
Тег <SCRIPT> определяет функцию foo() в JavaScript, которая открывает новое окно с указанным URL (http://www.kansoftware.ru/) в рамке _parent.
Тег <BODY> имеет атрибут onLoad, установленный на foo(), что означает, что функция foo() будет вызвана автоматически при загрузке страницы.
Когда функция foo() выполняется, она редиректит браузер на новый URL с помощью метода open().
Скрипт также включает тег <title> с заголовком "Внимание, я переехал!" (Attention, I've moved!), который устанавливает заголовок страницы при редиректе.
Однако в этом коде есть несколько проблем:
Атрибут LANGUAGE не нужен и может быть удален.
Атрибут type должен быть установлен на text/javascript, а не просто text/JavaScript.
Скрипт не обрабатывает случаи, когда браузер не может редиректить страницу (например, из-за ограничений браузера или ошибок сети). В таких случаях пользователь может увидеть сообщение об ошибке вместо редиректа.
Вот обновленная версия кода, которая решает эти проблемы:
<script type="text/javascript">
function foo() {
window.location.href = "http://www.kansoftware.ru/";
}
</script>
<title>Внимание, я переехал!</title>
<BODY onLoad="foo();">
<h1>Внимание, я переехал!</h1>
<p>Мой новый адрес <a href="http://www.kansoftware.ru/">http://www.kansoftware.ru/</a></p>
</BODY>
Альтернативно, можно использовать метод window.location.replace() для достижения identical результата без открытия нового окна:
<script type="text/javascript">
function foo() {
window.location.replace("http://www.kansoftware.ru/");
}
</script>
<title>Внимание, я переехал!</title>
<BODY onLoad="foo();">
<h1>Внимание, я переехал!</h1>
<p>Мой новый адрес <a href="http://www.kansoftware.ru/">http://www.kansoftware.ru/</a></p>
</BODY>
Этот код более эффективен и надежен, чем оригинальный сценарий.
Статья описывает использование JavaScript для реализации редиректа на новую страницу, когда браузер загружает старую страницу.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.