it-swarm.com.de

Soll ich window.navigate oder document.location in JavaScript verwenden?

Welche Methode wird bevorzugt verwendet, um den Speicherort der aktuellen Webseite mithilfe von JavaScript zu ändern? Ich habe sowohl window.navigate als auch document.location verwendet. Gibt es Unterschiede im Verhalten? Gibt es Unterschiede bei den Browser-Implementierungen?

168
dthrasher
window.location.href = 'URL';

ist die Standardimplementierung zum Ändern der Position des aktuellen Fensters.

211
James Skidmore

document.locatio n ist eine (veraltete, aber immer noch vorhandene) schreibgeschützte Zeichenfolge, die durch document.url ersetzt wird.

7
kennebec

window.location wirkt sich auf Ihr Browserziel aus. document.location wirkt sich nur auf Ihren Browser und Frame/Iframe aus.

6
Aldry Zhen

window.location wirkt sich auch auf den Rahmen aus,

die beste Form, die ich gefunden habe, ist:

parent.window.location.href

Und das Schlimmste ist:

parent.document.URL 

Ich habe einen massiven Browsertest gemacht und einige seltene IE mit mehreren Plugins werden mit der zweiten Form undefiniert.

6
jolmos

window.navigate wird in einigen Browsern nicht unterstützt

In Java Skript gibt es viele Möglichkeiten für die Umleitung, siehe den folgenden Code und die Erklärung

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 lädt die Seite aus dem Cache des Browsers und sendet die Anfrage nicht immer an den Server. Wenn Sie also eine alte Version der Seite im Cache haben, wird sie dorthin umgeleitet, anstatt eine neue Seite vom Server zu laden.

window.location.assign () Methode zur Umleitung, wenn Sie dem Benutzer erlauben möchten, mit der Schaltfläche "Zurück" zum Originaldokument zurückzukehren.

window.location.replace () - Methode, wenn Sie zu einer neuen Seite umleiten möchten und dem Benutzer nicht erlauben möchten, mit der Zurück-Taste zur ursprünglichen Seite zu navigieren.

5
Srikrushna

window.navigate wird in einigen Browsern NICHT unterstützt, daher sollte dies vermieden werden. Alle anderen Methoden, die die location -Eigenschaft verwenden, sind der zuverlässigste und konsistenteste Ansatz

4
Troy Grosh

Ich würde gehen mit window.location = "http://...";. Ich programmiere seit einigen Jahren browserübergreifendes JavaScript und habe mit diesem Ansatz noch nie Probleme gehabt.

window.navigate und window.location.href kommt mir etwas komisch vor.

2
cllpse

Es gibt wirklich keinen Unterschied; Es gibt ungefähr 5 verschiedene Methoden, um dies zu tun. Am häufigsten sehe ich jedoch document.location und window.location weil sie von allen gängigen Browsern unterstützt werden. (Ich persönlich habe noch nie gesehen window.navigate wird im Produktionscode verwendet, hat er also möglicherweise keine sehr gute Unterstützung?)

1
Sasha Chedygov

unterstützung für document.location ist auch gut, obwohl es eine veraltete Methode ist. Ich habe diese Methode für eine Weile ohne Probleme verwendet. Sie können hier für weitere Details verweisen:

https://developer.mozilla.org/en-US/docs/Web/API/document.location

0
Ankur Goyal