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

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


person Community    schedule 14.10.2008    source источник
comment
Отвечает ли это на ваш вопрос? Как перенаправить на другую веб-страницу?   -  person Heretic Monkey    schedule 24.07.2020


Ответы (4)


// 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";

редактировать: похоже, что пользователь, опубликовавший лучший ответ, ушел ТАК, я объединил его ответы здесь.

person Owen    schedule 14.10.2008

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

В противном случае

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

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

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

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

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

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

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

person Quentin    schedule 14.10.2008

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

person Community    schedule 14.10.2008

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

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

person Guido    schedule 14.10.2008