Qual é a melhor maneira de alguém automaticamente redirecionamento para outra página?
-
03-07-2019 - |
Pergunta
Eu nunca aprendi JavaScript, mas eu imagino que este é um problema simples. Só queria saber qual método é o mais aconselhado estes dias.
Solução
// 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";
Editar :. Parece que o usuário que postou a resposta melhor deixou Então, eu consolidou suas respostas aqui
Outras dicas
A maioria aconselhou? Para não fazê-lo. HTTP é muito melhor adequado para o trabalho do que JavaScript ( Os motores de busca segui-las, você pode indicar se é permanente ou não, eles são mais rápidos, etc).
Se isso falhar ...
Se você quiser um redirecionamento imediato:
window.location.replace('http://example.com/');
Isto irá substituir o atual URI com o novo URI no histórico do navegador, de modo que o botão voltar não vai pousar o usuário em uma página que imediatamente lança-los para a frente novamente.
Se você realmente não quer redirecionar, mas deseja enviar a algum lugar utilizador em resposta a um evento:
window.location.href = 'http://example.com/';
Lembre-se de ter um fallback não-JavaScript. Um link é geralmente a melhor opção, mas não depende do contexto.
redirecionamentos tempo de atraso são uma idéia ainda pior. A única razão para usá-los é se você deseja exibir uma mensagem para o usuário - e os usuários ler coisas em velocidades diferentes (e tê-los sentados em outra guia enquanto eles fazem outra coisa). Se a mensagem é suficiente importante para mostrar, então ele deve ser suficiente importante para deixar na tela até que o usuário tem lê-lo e clicar em um link para a página seguinte.
Uma coisa importante a lembrar quando redirecionando uma página usando JavaScript é, sempre forneça um não-JavaScript redirecionamento também! Um link faria, ou melhor uma tag <META>
, por exemplo: <meta http-equiv="refresh" content="2;url=http://example.com">
Esses dias, eu acho que o método mais aconselhável é não fazer javascript ( ou meta) redireccionamentos. Você realmente precisa ? você poderia usar um redirecionamento HTTP cabeçalho em vez disso?
Conteúdo Web do W3C Accessibility Guidelines (7.4) também desencorajam a criação de páginas com atualização automática, uma vez que a maioria dos navegadores da web não permitir que o usuário desativar ou controlar a taxa de atualização
Outra maneira de fazê-lo com arquivos locais é fazendo esta ??p>
<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>
<!-- begin snippet: js hide: false console: true babel: false -->
<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>