Redirecionar para uma página da web em JavaScript
-
JavaScript redireciona uma página da web com
location.href()
-
JavaScript redireciona uma página da web com
location.replace()
-
3. JavaScript redireciona uma página da web com
location.assign()
- 4. JavaScript redireciona uma página da web criando um elemento âncora dinamicamente
- Conclusão
Existem várias maneiras em JavaScript de redirecionar o usuário. Depende dos requisitos de negócios de que tipo de comportamento de redirecionamento o site deve ter. Você pode redirecionar seus usuários das seguintes maneiras:
location.href()
location.replace()
location.assign()
- Crie o elemento âncora dinamicamente
JavaScript redireciona uma página da web com location.href()
Use a interface location
em conjunto com os objetos Document
e Window
para redirecionar. Normalmente, window.location.href
retorna o URL da página atual. Por exemplo, se você executar o código a seguir, verá o URL da página:
console.log(window.location.href)
Resultado:
"https://www.delftstack.com/"
O truque é substituir esse URL atribuindo um URL diferente a window.location.href
. Isso fará com que o navegador carregue a página especificada pela URL, redirecionando para ela. Em termos de pilha de histórico do site, este método altera o URL de referência atual. O código a seguir irá navegar para a página de instruções de DelfStack
.
window.location.href = 'https://www.delftstack.com/howto/';
Observações:
- Depois que o novo URL é carregado, a página da web mais antiga pode ser acessada pelo botão Voltar do navegador.
- É o método mais comumente usado para redirecionamento
JavaScript redireciona uma página da web com location.replace()
Se você deseja mover-se permanentemente para uma página da web, use o location.replace
. A diferença é que location.replace
substituirá o URL atual por um novo URL. Portanto, o usuário não poderá voltar para o URL anterior. Em termos de pilha de histórico do navegador, o método exibe a última URL da página da web e coloca a URL no valor.
window.location.replace('https://www.delftstack.com');
Executar isso carregará o site https://www.delftstack.com
.
Observações:
- Recomendamos usar este método apenas quando necessário.
- Não se pode voltar ao link anterior usando este método. Portanto, pode não ser uma boa experiência do usuário.
3. JavaScript redireciona uma página da web com location.assign()
Como o location.replace()
, o método assign()
vem com a diferença de que o link atual permanece no histórico do navegador. Assim, o usuário poderá voltar à página anterior usando o botão Voltar do navegador. Este método também usa o URL de destino como parâmetro.
window.location.assign('https://www.delftstack.com');
4. JavaScript redireciona uma página da web criando um elemento âncora dinamicamente
Em navegadores mais antigos, especialmente o Internet Explorer, com a versão 8 ou inferior, a interface de localização não é compatível. Portanto, criamos uma tag âncora (<a>
) dinamicamente e definimos o atributo href
com o URL de destino. Conforme mencionado anteriormente, a tag âncora é um elemento passivo que requer interação do usuário para invocá-la. Portanto, um evento de clique é disparado no código para fazer o redirecionamento funcionar.
let targetURL = 'https://www.delftstack.com';
let newURL = document.createElement('a');
newURL.href = targetURL;
document.body.appendChild(newURL);
newURL.click();
Aqui, conseguimos o redirecionamento por:
- Criação de um elemento de tag âncora
document.createElement('a');
- Definindo a propriedade
href
com onovo URL newURL.href = targetURL
- Anexando a tag criada dinamicamente ao nó DOM com
document.body.appendChild(newURL)
- Finalmente, invocando-o emulando um clique do usuário em
newURL.click()
O navegador carregará o novo URL.
Conclusão
Dependendo dos requisitos de negócios, será bom usar o método de atualização meta para redirecionar um usuário assim que ele acessar a página da web do site em manutenção. Usar a tag âncora é bastante comum se a navegação for baseada no clique do usuário. Podemos usar métodos da interface Location em JavaScript, o window.location.href
e window.location.assign()
, para enviar programaticamente um usuário para um novo URL.