Какой лучший способ автоматически перенаправить кого-то на другую веб-страницу?

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

Ответ 1

// use this to avoid redirects when a user clicks "back" in their browser
window.location.replace('http://somewhereelse.com');

// use this to redirect, a back button call will trigger the redirection again
window.location.href = "http://somewhereelse.com";

// given for completeness, essentially an alias to window.location.href
window.location = "http://somewhereelse.com";

edit: похоже, что пользователь, который опубликовал лучший ответ, оставил SO, я обобщил его ответы здесь.

Ответ 2

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

Неспособность & hellip;

Если вы хотите немедленное перенаправление:

window.location.replace('http://example.com/');

Это заменит текущий URI новым URI в истории браузера, поэтому кнопка "Назад" не будет помещать пользователя на страницу, которая сразу же бросает их вперед.

Если вы действительно не хотите перенаправлять, но хотите отправить пользователя где-нибудь в ответ на событие:

window.location.href = 'http://example.com/';

Помните, что резервная копия, отличная от JavaScript. Ссылка обычно является лучшим вариантом, но она зависит от контекста.

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

Ответ 3

Одна важная вещь, которую следует помнить при перенаправлении страницы с использованием JavaScript, всегда обеспечивает перенаправление без JavaScript! Ссылка будет делать, или лучше тег <META>, например: <meta http-equiv="refresh" content="2;url=http://example.com">

Ответ 4

В наши дни я считаю, что наиболее рекомендуемым методом является не выполнять javascript (или мета) переадресации. Вам это действительно нужно? Вместо этого вы можете использовать HTTP-заголовок перенаправления?

Рекомендации по доступности веб-контента W3C (7.4) также препятствуют созданию автоматически обновляемых страниц, поскольку большинство веб-браузеров не позволяют пользователю отключать или контролировать частоту обновления

Ответ 5

Другой способ сделать это с локальными файлами - это

Ответ 6

<script type="text/javascript">
function Redirect(){
  window.location.href = ("https://example.com");
}
document.write("Please wait you will be redirected in 10sec");
setTimeout('Redirect(), 10000);
</script>

Ответ 7

<!-- begin snippet: js hide: false console: true babel: false -->