Antes de começar, o jQuery é uma biblioteca JavaScript usada para manipulação do DOM. Portanto, você não deve usar o jQuery para redirecionar uma página.
Uma citação de Jquery.com:
Embora o jQuery possa ser executado sem grandes problemas nas versões mais antigas do navegador, não testamos ativamente o jQuery neles e geralmente não corrigimos bugs que possam aparecer neles.
Foi encontrado aqui:
https://jquery.com/browser-support/
Portanto, o jQuery não é uma solução completa para compatibilidade com versões anteriores.
A solução a seguir, usando JavaScript puro, funciona em todos os navegadores e é padrão há muito tempo, portanto você não precisa de bibliotecas para suporte a vários navegadores.
Esta página será redirecionada para o Google após 3000 milissegundos
<!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>
As opções diferentes são as seguintes:
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"
Ao usar substituir, o botão Voltar não retornará à página de redirecionamento, como se nunca estivesse no histórico. Se você deseja que o usuário possa voltar à página de redirecionamento, use window.location.href
ouwindow.location.assign
. Se você usar uma opção que permita ao usuário voltar à página de redirecionamento, lembre-se de que quando você entra na página de redirecionamento, ele o redireciona de volta. Portanto, leve isso em consideração ao escolher uma opção para o seu redirecionamento. Sob condições em que a página está redirecionando apenas quando uma ação é executada pelo usuário, manter a página no histórico do botão voltar ficará bem. Mas se a página redirecionar automaticamente, você deverá usar a opção substituir, para que o usuário possa usar o botão Voltar sem ser forçado a voltar à página que o redirecionamento envia.
Você também pode usar metadados para executar um redirecionamento de página, conforme a seguir.
META Refresh
<meta http-equiv="refresh" content="0;url=http://evil.com/" />
META Localização
<meta http-equiv="location" content="URL=http://evil.com" />
BASE Hijacking
<base href="http://evil.com/" />
Muitos outros métodos para redirecionar seu cliente desavisado para uma página que ele pode não querer ir podem ser encontrados nesta página (nenhum deles depende do jQuery):
https://code.google.com/p/html5security/wiki/RedirectionMethods
Eu também gostaria de salientar que as pessoas não gostam de ser redirecionadas aleatoriamente. Somente redirecione as pessoas quando for absolutamente necessário. Se você começar a redirecionar as pessoas aleatoriamente, elas nunca voltarão ao seu site.
O próximo parágrafo é hipotético:
Você também pode ser denunciado como um site malicioso. Se isso acontecer, quando as pessoas clicarem em um link para o seu site, o navegador dos usuários poderá avisá-las de que seu site é malicioso. O que também pode acontecer é que os mecanismos de pesquisa podem começar a diminuir sua classificação se as pessoas estiverem relatando uma experiência ruim em seu site.
Consulte as Diretrizes para webmasters do Google sobre redirecionamentos:
https://support.google.com/webmasters/answer/2721217?hl=pt_BR&ref_topic=6001971
Aqui está uma pequena página divertida que o expulsa da página.
<!DOCTYPE html>
<html>
<head>
<title>Go Away</title>
</head>
<body>
<h1>Go Away</h1>
<script>
setTimeout(function(){
window.history.back();
}, 3000);
</script>
</body>
</html>
Se você combinar os exemplos de duas páginas, terá um loop infantil de redirecionamento que garantirá que seu usuário nunca mais queira usar seu site novamente.