Kann mir jemand den Unterschied zwischen window.location.hrefund sagen top.location.href?
Und auch wo man welches benutzt.
Und welches ist besser, wenn Sie nach einem Ajax-Aufruf in mvc umleiten?
Kann mir jemand den Unterschied zwischen window.location.hrefund sagen top.location.href?
Und auch wo man welches benutzt.
Und welches ist besser, wenn Sie nach einem Ajax-Aufruf in mvc umleiten?
Antworten:
window.location.href Gibt den Speicherort der aktuellen Seite zurück.
top.location.href(Dies ist ein Alias von window.top.location.href) gibt die Position des obersten Fensters in der Fensterhierarchie zurück. Wenn ein Fenster kein übergeordnetes Element hat, topverweist es auf sich selbst (mit anderen Worten window=== window.top).
topist sowohl nützlich, wenn Sie mit Frames arbeiten, als auch wenn Sie mit Fenstern arbeiten, die von anderen Seiten geöffnet wurden. Zum Beispiel, wenn Sie eine Seite test.htmlmit dem folgenden Skript aufgerufen haben :
var newWin=window.open('about:blank','test','width=100,height=100');
newWin.document.write('<script>alert(top.location.href);</script>');
Die resultierende Warnung enthält den vollständigen Pfad zu test.html - nicht about: blank, was zurückkehren window.location.hrefwürde.
Um Ihre Frage zur Umleitung zu beantworten, gehen Sie zu window.location.assign(url);
top.location.hrefeinen Alias von aufzurufen window.top.location.href? Ich dachte, dass eine sogenannte "globale" Variable wirklich eine Abkürzung für eine Eigenschaft von ist, windowwährend Alias impliziert, dass es sich um eine unabhängige Variable handelt, die auf dieselbe Stelle verweist.
topObjekt macht innerhalb von Frames mehr Sinn. windowBezieht sich innerhalb eines Frames auf das Fenster des aktuellen Frames, während es topsich auf das äußerste Fenster bezieht, das die Frames enthält. So:
window.location.href = 'somepage.html';bedeutet das Laden somepage.htmlinnerhalb des Rahmens.
top.location.href = 'somepage.html';bedeutet das Laden somepage.htmlim Hauptbrowserfenster.
topbezieht sich auf das Fensterobjekt, das alle aktuellen Frames enthält (Vater der restlichen Fenster). windowist der Strom window.
http://www.howtocreate.co.uk/tutorials/javascript/browserinspecific
so top.location.hrefkann enthalten den „Master“ Seite Link , um alle Frames enthält, während window.location.hrefnur die „aktuelle“ Seite Link enthält.
Der erste fügt Ihrem Verlauf ein Element hinzu, indem Sie auf "Zurück" klicken können (oder sollten) und zur aktuellen Seite zurückkehren können.
Der zweite ersetzt das aktuelle Verlaufselement, sodass Sie nicht mehr darauf zurückgreifen können.
Siehe window.location:
assign(url): Laden Sie das Dokument unter der angegebenen URL.
replace(url): Ersetzen Sie das aktuelle Dokument durch das unter der angegebenen URL. Der Unterschied zur assign()Methode besteht darin, dass nach der Verwendung replace()der aktuellen Seite nicht im Sitzungsverlauf gespeichert wird, was bedeutet, dass der Benutzer nicht mit der Schaltfläche Zurück zu dieser navigieren kann.
window.location.href = url;
wird bevorzugt gegenüber:
window.location = url;