Redirection vers une page Web en JavaScript
-
JavaScript Rediriger une page Web avec
location.href()
-
JavaScript Rediriger une page Web avec
location.replace()
-
3. JavaScript Rediriger une page Web avec
location.assign()
- 4. JavaScript Redirige une page Web en créant dynamiquement un élément d’ancrage
- Conclusion
Il existe différentes manières en JavaScript de réacheminer l’utilisateur. Cela dépend des besoins de l’entreprise sur le type de comportement de redirection que le site devrait avoir. Vous pouvez rediriger vos utilisateurs des manières suivantes:
location.href()
location.replace()
location.assign()
- Créer un élément d’ancrage dynamiquement
JavaScript Rediriger une page Web avec location.href()
Utilisez l’interface location
en conjonction avec les objets Document
et Window
pour la redirection. Typiquement, le window.location.href
renvoie l’URL de la page courante. Par exemple, si vous exécutez le code suivant, vous verrez l’URL de la page:
console.log(window.location.href)
Production:
"https://www.delftstack.com/"
L’astuce consiste à remplacer cette URL en attribuant une URL différente à window.location.href
. Cela obligera le navigateur à charger la page spécifiée par l’URL, donc à la rediriger. En termes de pile d’historique de site, cette méthode modifie l’URL de référence actuelle. Le code suivant vous dirigera vers la page de procédure de DelfStack
.
window.location.href = 'https://www.delftstack.com/howto/';
Remarques:
- Une fois la nouvelle URL chargée, l’ancienne page Web est accessible par le bouton Précédent du navigateur.
- C’est la méthode la plus couramment utilisée pour la redirection
JavaScript Rediriger une page Web avec location.replace()
Si vous souhaitez vous déplacer de façon permanente vers une page Web, utilisez la fonction location.replace
. La différence est que location.replace
remplacera l’URL actuelle par une nouvelle URL. Par conséquent, l’utilisateur ne pourra pas revenir à l’URL précédente. En termes de pile d’historique du navigateur, la méthode affiche la dernière URL de la page Web et pousse l’URL dans la valeur.
window.location.replace('https://www.delftstack.com');
L’exécution de cette opération chargera le site https://www.delftstack.com
.
Remarques:
- Nous vous recommandons d’utiliser cette méthode uniquement lorsque cela est nécessaire.
- On ne peut pas revenir au lien précédent en utilisant cette méthode. Par conséquent, ce n’est peut-être pas une bonne expérience utilisateur.
3. JavaScript Rediriger une page Web avec location.assign()
Comme la méthode location.replace()
, la méthode assign()
a la différence que le lien actuel reste dans l’historique du navigateur. Par conséquent, l’utilisateur pourra revenir à la page précédente en utilisant le bouton de retour du navigateur. Cette méthode prend également l’URL cible comme paramètre.
window.location.assign('https://www.delftstack.com');
4. JavaScript Redirige une page Web en créant dynamiquement un élément d’ancrage
Dans les navigateurs plus anciens, en particulier Internet Explorer, ayant la version 8 ou inférieure, l’interface de localisation n’est pas prise en charge. Par conséquent, nous créons dynamiquement une balise d’ancrage (<a>
) et définissons l’attribut href
avec l’URL cible. Comme mentionné précédemment, la balise d’ancrage est un élément passif qui nécessite une interaction de l’utilisateur pour l’invoquer. Ainsi, un événement de clic est déclenché dans le code pour faire fonctionner la redirection.
let targetURL = 'https://www.delftstack.com';
let newURL = document.createElement('a');
newURL.href = targetURL;
document.body.appendChild(newURL);
newURL.click();
Ici, nous réalisons la redirection en:
- Création d’un élément de balise d’ancrage
document.createElement('a');
- Définition de la propriété
href
avec lanouvelle URL newURL.href = targetURL
- Attacher la balise créée dynamiquement au nœud DOM avec
document.body.appendChild(newURL)
- Enfin, en l’invoquant en émulant un utilisateur cliquez sur
newURL.click()
Le navigateur chargera la nouvelle URL.
Conclusion
En fonction des besoins de l’entreprise, il sera bon d’utiliser la méthode de mise à jour méta pour rediriger un utilisateur dès qu’il arrive sur la page Web du site en cours de maintenance. L’utilisation d’une balise d’ancrage est assez courante si la navigation est basée sur le clic de l’utilisateur. Nous pouvons utiliser les méthodes de l’interface Location en JavaScript, les window.location.href
et window.location.assign()
, pour envoyer par programmation un utilisateur vers une nouvelle URL.