Quelle est la méthode préférée à utiliser pour changer l'emplacement de la page Web actuelle à l'aide de JavaScript? J'ai déjà vu window.navigate et document.location utilisés. Y a-t-il des différences de comportement? Existe-t-il des différences dans les implémentations du navigateur?
window.location.href = 'URL';
est l'implémentation standard pour changer l'emplacement de la fenêtre en cours.
document.locatio n est une propriété de chaîne en lecture seule (obsolète mais toujours présente), remplacée par document.url.
window.location
affectera la cible de votre navigateur. document.location n'affectera que votre navigateur et votre cadre/iframe.
window.location
affecte également le cadre,
la meilleure forme que j'ai trouvée est:
parent.window.location.href
Et le pire est:
parent.document.URL
J'ai fait un test de navigateur massif, et quelques rares IE avec plusieurs plugins deviennent indéfinis avec le second formulaire.
window.navigate non supporté par certains navigateurs
Dans le script Java, il existe de nombreuses manières de rediriger les personnes, voir le code et l'explication ci-dessous.
window.location.href = "http://krishna.developerstips.com/";
window.location = "http://developerstips.com/";
window.location.replace("http://developerstips.com/");
window.location.assign("http://work.developerstips.com/");
window.location.href charge la page à partir du cache du navigateur et n'envoie pas toujours la demande au serveur. Donc, si vous avez une ancienne version de la page disponible dans le cache, elle sera redirigée vers celle-ci au lieu de charger une nouvelle page à partir du serveur.
window.location.assign () méthode de redirection si vous souhaitez autoriser l'utilisateur à utiliser le bouton Précédent pour revenir au document d'origine.
window.location.replace () méthode si vous souhaitez rediriger vers une nouvelle page et n'autorisez pas l'utilisateur à accéder à la page d'origine à l'aide du bouton Précédent.
window.navigate
n'est PAS supporté par certains navigateurs, il est donc préférable de ne pas en utiliser. Toutes les autres méthodes utilisant la propriété location constituent l'approche la plus fiable et la plus cohérente.
J'irais avec window.location = "http://...";
. Je code JavaScript depuis plusieurs navigateurs depuis plusieurs années et je n'ai jamais rencontré de problèmes pour utiliser cette approche.
window.navigate
et window.location.href
me semblent un peu bizarres.
Il n'y a pas vraiment de différence. il y a environ 5 méthodes différentes pour le faire. Cependant, ceux que je vois le plus souvent sont document.location
et window.location
car ils sont supportés par tous les principaux navigateurs. (Personnellement, je n'ai jamais vu window.navigate
utilisé dans le code de production, alors le support n'est peut-être pas très bon?)
la prise en charge de document.location
est également bonne, bien que ce soit une méthode déconseillée. J'utilise cette méthode depuis un moment sans aucun problème. vous pouvez vous référer ici pour plus de détails:
https://developer.mozilla.org/en-US/docs/Web/API/document.location