Я никогда не изучал 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 -->