Прежде чем я начну, jQuery - это библиотека JavaScript, используемая для манипулирования DOM. Так что вы не должны использовать jQuery для перенаправления страниц.
Цитата из Jquery.com:
Хотя jQuery может работать без серьезных проблем в старых версиях браузера, мы не проводим в них активное тестирование jQuery и обычно не исправляем ошибки, которые могут в них появляться.
Это было найдено здесь:
https://jquery.com/browser-support/
Таким образом, jQuery не является универсальным решением для обратной совместимости.
Следующее решение, использующее сырой JavaScript, работает во всех браузерах и долгое время было стандартным, поэтому вам не нужны никакие библиотеки для кросс-браузерной поддержки.
Эта страница будет перенаправлена в Google через 3000 миллисекунд
<!DOCTYPE html>
<html>
<head>
<title>example</title>
</head>
<body>
<p>You will be redirected to google shortly.</p>
<script>
setTimeout(function(){
window.location.href="http://www.google.com"; // The URL that will be redirected too.
}, 3000); // The bigger the number the longer the delay.
</script>
</body>
</html>
Различные варианты заключаются в следующем:
window.location.href="url"; // Simulates normal navigation to a new page
window.location.replace("url"); // Removes current URL from history and replaces it with a new URL
window.location.assign("url"); // Adds new URL to the history stack and redirects to the new URL
window.history.back(); // Simulates a back button click
window.history.go(-1); // Simulates a back button click
window.history.back(-1); // Simulates a back button click
window.navigate("page.html"); // Same as window.location="url"
При использовании замены кнопка «Назад» не вернется на страницу перенаправления, как если бы она никогда не была в истории. Если вы хотите, чтобы пользователь мог вернуться на страницу перенаправления, используйте window.location.href
или window.location.assign
. Если вы используете опцию, которая позволяет пользователю вернуться на страницу перенаправления, помните, что при входе на страницу перенаправления вы будете перенаправлены обратно. Поэтому учитывайте это при выборе опции для вашего перенаправления. В условиях, когда страница перенаправляется только тогда, когда пользователь выполняет действие, тогда наличие страницы в истории кнопки возврата будет в порядке. Но если страница автоматически перенаправляет, вы должны использовать замену, чтобы пользователь мог использовать кнопку возврата, не возвращаясь к странице, которую перенаправляет.
Вы также можете использовать метаданные для запуска перенаправления страницы следующим образом.
МЕТА Обновить
<meta http-equiv="refresh" content="0;url=http://evil.com/" />
META Расположение
<meta http-equiv="location" content="URL=http://evil.com" />
BASE Hijacking
<base href="http://evil.com/" />
На этой странице можно найти еще много способов перенаправить вашего ничего не подозревающего клиента на страницу, которую он может не захотеть открыть (ни один из них не зависит от jQuery):
https://code.google.com/p/html5security/wiki/RedirectionMethods
Я также хотел бы отметить, что люди не любят, когда их перенаправляют случайным образом. Перенаправлять людей только когда это абсолютно необходимо. Если вы начнете перенаправлять людей случайным образом, они больше никогда не пойдут на ваш сайт.
Следующий абзац является гипотетическим:
Вы также можете быть зарегистрированы как вредоносный сайт. Если это произойдет, тогда, когда люди нажимают на ссылку на ваш сайт, браузер пользователей может предупредить их, что ваш сайт является вредоносным. Также может случиться, что поисковые системы начнут понижать ваш рейтинг, если люди сообщают о плохом опыте на вашем сайте.
Ознакомьтесь с рекомендациями Google для веб-мастеров по перенаправлениям:
https://support.google.com/webmasters/answer/2721217?hl=ru&ref_topic=6001971.
Вот забавная маленькая страница, которая вышибает вас из этой страницы.
<!DOCTYPE html>
<html>
<head>
<title>Go Away</title>
</head>
<body>
<h1>Go Away</h1>
<script>
setTimeout(function(){
window.history.back();
}, 3000);
</script>
</body>
</html>
Если вы объедините два примера страниц вместе, у вас получится младенческая петля перенаправления, которая гарантирует, что ваш пользователь никогда больше не захочет использовать ваш сайт.