Qual é a melhor maneira de alguém automaticamente redirecionamento para outra página?

StackOverflow https://stackoverflow.com/questions/200337

  •  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.

Foi útil?

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

<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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top