Heim >Web-Frontend >js-Tutorial >Wie kann ich über einen Iframe in einer anderen Subdomain auf die übergeordnete URL zugreifen?
Zugriff auf die übergeordnete URL vom Iframe aus
Bei der Arbeit mit Iframes ist es oft notwendig, vom Iframe aus auf die URL der übergeordneten Seite zuzugreifen. Dies kann jedoch problematisch sein, wenn sich der Iframe und die übergeordnete Seite nicht auf derselben Subdomain befinden.
Cross-Site Scripting und Subdomains
Cross-Site Scripting (XSS ) tritt auf, wenn ein bösartiges Skript auf einer Webseite ausgeführt wird, der ein Benutzer vertraut. Zur Verhinderung von XSS wurden strengere Sicherheitsmaßnahmen implementiert, und diese Maßnahmen erstrecken sich auch auf Iframes.
Wenn sich der Iframe und die übergeordnete Seite nicht in derselben Subdomain befinden, obwohl sie sich in derselben Domain befinden, wird der Zugriff berücksichtigt Cross-Site-Scripting. Daher führt das Abrufen der URL der übergeordneten Seite aus dem Iframe mithilfe von Techniken wie:
parent.document.location parent.window.location
zu einem Fehler „Zugriff verweigert“.
Zugriff auf die Browser-URL
Obwohl es unmöglich ist, direkt auf die URL der übergeordneten Seite zuzugreifen, gibt es eine Problemumgehung, um die URL des Browsers abzurufen, bei der es sich um die URL der Hauptseite handelt. Gehen Sie dazu wie folgt vor:
var url = (window.location != window.parent.location) ? document.referrer : document.location.href;
Dieser Code prüft, ob sich der Iframe und die übergeordnete Seite nicht auf derselben URL befinden. Wenn sie unterschiedlich sind, wird document.referrer verwendet, um die URL der Seite abzurufen, die mit dem Iframe verknüpft ist. Andernfalls wird document.location.href verwendet, um die URL des aktuellen (Iframe-)Dokuments abzurufen.
Zusätzliche Hinweise
Das obige ist der detaillierte Inhalt vonWie kann ich über einen Iframe in einer anderen Subdomain auf die übergeordnete URL zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!