2009-06-04 9 views

Antwort

186
window.location.href = 'URL'; 

ist die Standardimplementierung zum Ändern der aktuellen Fensterposition.

+18

Haben Sie einen Verweis, um anzuzeigen, dass der window.location.href die Standardimplementierung ist? Und gilt dieser Standard für alle Browser gleichermaßen? Sie scheinen sicherlich kenntnisreich zu sein und 15+ Stimmen (plus akzeptierte Antwort) helfen, es autoritativer zu machen, obwohl ich denke, dass es besser wäre, Dokumentation von den Browser-Entwicklungsteams zu sehen, um die Behauptung zu stützen. – Goyuix

+5

@ Goyuix, es ist wahrscheinlich genauer zu sagen, dass "window.location.href" ist die vollständige Implementierung, aber 'window.location' erreicht das gleiche. Siehe http://docs.sun.com/source/816-6408-10/location.htm: "Wenn Sie der' location'-Eigenschaft eines Objekts eine Zeichenfolge zuweisen, erstellt JavaScript ein 'location'-Objekt und weist diese Zeichenfolge der 'href'-Eigenschaft zu." –

+2

Sieht so aus, als hätten diese Leute entschieden, dass es eine persönliche Vorliebe ist: https://developer.mozilla.org/Talk:de/DOM/window.location. Oder sehen Sie sich das Beispiel unten an, sie benutzen nur 'window.location', aber das muss nicht unbedingt heißen: https://developer.mozilla.org/en/window.location. –

1

Es gibt wirklich keinen Unterschied; Es gibt ungefähr 5 verschiedene Methoden, dies zu tun. Die am häufigsten angezeigten sind jedoch document.location und window.location, da sie von allen gängigen Browsern unterstützt werden. (Ich habe nie gesehen window.navigate in Produktionscode verwendet, so dass es vielleicht nicht sehr guten Support?)

+0

document.location funktioniert nicht in allen Browsern. window.location tut das. –

+4

Hmm, funktioniert für mich. In welchem ​​Browser funktioniert es nicht? –

+2

Firefox unterstützt window.navigate nicht –

2

würde ich mit window.location = "http://..."; gehen. Ich habe einige Jahre lang JavaScript über den Browser programmiert, und ich habe noch nie Probleme mit diesem Ansatz erlebt.

window.navigate und window.location.href scheint mir ein bisschen seltsam.

+13

window.location funktioniert, aber es ist technisch falsch, weil "location" ein Objekt ist. –

+16

Aber alles in JavaScript ist ein Objekt :) – roosteronacid

+1

Während so ziemlich alles ein Objekt in JavaScript ist, wird das Zuweisen einer Zeichenfolge zu einem Objekt den Wert normalerweise nicht auf eine seiner Eigenschaften festlegen (wie window.location oder document.location mit ihren href-Eigenschaft), ersetzt dieses Objekt jedoch durch eine Zeichenfolge. In diesem Fall wurde eine Browser-Eigenart hinzugefügt, um mit bestehenden (schrulligen) Implementierungen und älteren (und nicht so alten) Inhalten kompatibel zu sein. – PhistucK

6

document.locatio n eine (veraltet, aber derzeit noch) schreibgeschützte String-Eigenschaft, ersetzt durch document.URL.

6

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

5

window.location wirkt sich auch auf den Rahmen,

die beste Form i gefunden:

parent.window.location.href 

Und das Schlimmste ist:

parent.document.URL 

ich einen massiven Browser-Test haben, und einige Seltener IE mit mehreren Plugins wird mit der zweiten Form undefiniert.

+0

Mit dieser Logik wäre top.window.location.href nicht besser noch? – Orwellophile

4

window.navigate wird in einigen Browsern NICHT unterstützt, so dass man es vermeiden sollte. Alle anderen Methoden, die die location -Eigenschaft verwenden, sind der zuverlässigste und konsistenteste Ansatz

-4

Sie Ihre Seite mit bewegen können

window.location.href =Url; 
+2

Dies fügt nicht wirklich mehr Informationen als die akzeptierte, und multiplizieren upvoted Antwort ... –

+3

Sie könnten sogar weiter gehen und argumentieren, dass Sie einfach die akzeptierte Antwort plagiiert haben – Liam

Verwandte Themen