Neste artigo vamos aprender como redirecionar para outra página com JavaScript, sem utilizar libs como jQuery, de uma maneira simples e efetiva.
Fala programador(a), tudo bem? Bora aprender coisa nova!
No JavaScript temos duas formas nativas de redirecionar o usuário
Uma se assemelha a clicar em um link e a outra não salva histórico, ou seja, o botão voltar não retorna para a última página
Então vamos aos exemplos:
// não habilita o recurso de 'voltar', similar a um redirect HTTP window.location.replace("https://www.horadecodar.com.br"); // comportamento semelhante a clicar em um link window.location.href = "https://www.horadecodar.com.br";
Estas são as duas maneiras possíveis com JavaScript, e já devem ser suficientes
Lembrando que ao usar o replace, o usuário será ‘recolocado’ na nova página
Perdendo um comportamento importante que é a setinha de voltar do navegador, fique atento ao utilizar esta abordagem
Quer se especializar em Desenvolvimento Web? Veja o nosso catálogo de cursos.
Você não precisa de jQuery para isso
Muitos programadores devido a facilidade do jQuery, que é questionável
Procuram meios de fazer isso com a biblioteca, o que é um erro
Pois você acaba perdendo performance e criando uma dependência desnecessária
Isso por que há meios de fazer com a forma nativa da linguagem, que você deve optar
Alterar o histórico
Podemos também voltar a página com JavaScript, que estão no histórico do navegador
Para isso temos duas formas também, veja:
// Voltar a página com JS window.history.back() window.history.go(-1)
Conclusão
Neste artigo aprendemos como redirecionar para outra página com JavaScript
Utilizamos os métodos window.location.replace e window.location.href
O segundo simula um click em uma tag de link, já o primeiro é uma simução de um redirect HTTP
Vimos também formas de voltar no histórico do navegador
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube
Simples, mas funciona.
Não sei o comportamento quando o JavaScript estiver bloqueado no navegador do usuário.
Valeu
Abs.
valeuu Ed! =)