Heim Web-Frontend js-Tutorial Wie kann ich die Iframe-Höhe dynamisch anpassen und dabei die Same-Origin-Richtlinie umgehen?

Wie kann ich die Iframe-Höhe dynamisch anpassen und dabei die Same-Origin-Richtlinie umgehen?

Dec 17, 2024 pm 01:51 PM

How Can I Dynamically Adjust Iframe Height While Bypassing the Same-Origin Policy?

Dynamische Iframe-Höhenanpassung

Bei der Integration von Inhalten aus externen Quellen über Iframes ist die Sicherstellung der richtigen Höhenanpassung von entscheidender Bedeutung. Dieser Artikel befasst sich mit einer Lösung, die die Same-Origin-Richtlinie umgeht und es Iframes ermöglicht, die Größe automatisch an ihren Inhalt anzupassen.

Browser-Macken ausnutzen, um die Same-Origin-Richtlinie zu umgehen

Der Schlüssel liegt in der Nutzung einer Browser-Eigenart, die es einer übergeordneten Domäne ermöglicht, mit einem Iframe zu kommunizieren, während der Iframe nicht direkt mit seinem übergeordneten Domäne kommunizieren kann. Diese Kommunikationshierarchie wird unten dargestellt:

Page Can Communicate With
www.foo.com/home.html N/A (parent)
www.bar.net/framed.html www.foo.com/helper.html (child)
www.foo.com/helper.html www.foo.com/home.html (parent)

Übergabe von Höheninformationen mithilfe von URL-Argumenten

Um die Höhe des Iframes zu bestimmen, muss die Inhaltsseite (www.bar.net/) verwendet werden. Framed.html) berechnet es und legt das src-Attribut eines Hilfs-Iframes (in derselben Domäne wie das übergeordnete Element) über ein URL-Argument fest. Der Hilfs-Iframe leitet diese Informationen dann an das übergeordnete Element weiter, das die Iframe-Höhe entsprechend anpassen kann.

Code-Implementierung

www.foo.com/home. html (Übergeordnete Seite):

function resizeIframe(height) {
  // Adjust the iframe height with a slight margin
  document.getElementById('frame_name_here').height = parseInt(height) + 60;
}
Nach dem Login kopieren

www.bar.net/framed.html (Untergeordnete Seite). Seite):

function iframeResizePipe() {
  // Calculate and pass the height to the helper iframe
  var height = document.body.scrollHeight;
  var pipe = document.getElementById('helpframe');
  pipe.src = 'http://www.foo.com/helper.html?height=' + height + '&cacheb=' + Math.random();
}
Nach dem Login kopieren

www.foo.com/helper.html (Helferseite):

function parentIframeResize() {
  // Extract the height from the URL argument
  var height = getParam('height');

  // Communicate the height to the parent page
  parent.parent.resizeIframe(height);
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich die Iframe-Höhe dynamisch anpassen und dabei die Same-Origin-Richtlinie umgehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ersetzen Sie Stringzeichen in JavaScript Ersetzen Sie Stringzeichen in JavaScript Mar 11, 2025 am 12:07 AM

Ersetzen Sie Stringzeichen in JavaScript

Benutzerdefinierte Google -Search -API -Setup -Tutorial Benutzerdefinierte Google -Search -API -Setup -Tutorial Mar 04, 2025 am 01:06 AM

Benutzerdefinierte Google -Search -API -Setup -Tutorial

Beispielfarben JSON -Datei Beispielfarben JSON -Datei Mar 03, 2025 am 12:35 AM

Beispielfarben JSON -Datei

8 atemberaubende JQuery -Seiten -Layout -Plugins 8 atemberaubende JQuery -Seiten -Layout -Plugins Mar 06, 2025 am 12:48 AM

8 atemberaubende JQuery -Seiten -Layout -Plugins

10 JQuery Syntax Highlighters 10 JQuery Syntax Highlighters Mar 02, 2025 am 12:32 AM

10 JQuery Syntax Highlighters

Erstellen Sie Ihre eigenen AJAX -Webanwendungen Erstellen Sie Ihre eigenen AJAX -Webanwendungen Mar 09, 2025 am 12:11 AM

Erstellen Sie Ihre eigenen AJAX -Webanwendungen

Was ist ' this ' in JavaScript? Was ist ' this ' in JavaScript? Mar 04, 2025 am 01:15 AM

Was ist ' this ' in JavaScript?

10 JavaScript & JQuery MVC -Tutorials 10 JavaScript & JQuery MVC -Tutorials Mar 02, 2025 am 01:16 AM

10 JavaScript & JQuery MVC -Tutorials

See all articles