Bestimmen des Ladeorts einer Webseite: Innerhalb eines iFrames oder direkt im Browser
Webentwickler stehen oft vor der Herausforderung, eine Webseite in einen Iframe zu laden oder direkt in das Browserfenster. Die Identifizierung des Ladeorts ist für maßgeschneiderte Benutzererlebnisse von entscheidender Bedeutung.
In diesem Szenario möchte ein Facebook-App-Entwickler feststellen, ob eine Webseite innerhalb eines Iframes oder direkt im Browser geladen wird. Dieses Wissen ermöglicht es ihnen, die Seite für beide Umgebungen entsprechend zu rendern.
Lösung:
Die vorherige Lösung verwendete den folgenden Code:
function inIframe () { try { return window.self !== window.top; } catch (e) { return true; } }
Allerdings weist diese Methode aufgrund von Sicherheitsbeschränkungen des Browsers Einschränkungen auf. Ein zuverlässigerer Ansatz wird empfohlen:
const inIframe = () => window.self !== window.top;
Dieser verbesserte Code prüft, ob das aktuelle Fenster das Fenster der obersten Ebene ist, indem er window.self und window.top vergleicht. Ein nicht äquivalenter Vergleich weist auf eine Iframe-Umgebung hin. Diese Methode wird von modernen Browsern weitgehend unterstützt.
Das obige ist der detaillierte Inhalt vonWird meine Webseite in einem iFrame oder direkt im Browser geladen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!