Heim >Web-Frontend >CSS-Tutorial >Wie kann ich berechnete Stile aus einem domänenübergreifenden Iframe abrufen?

Wie kann ich berechnete Stile aus einem domänenübergreifenden Iframe abrufen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-05 04:05:16518Durchsuche

How Can I Get Computed Styles from a Cross-Domain Iframe?

So rufen Sie berechnete Stile aus domänenübergreifenden Inhalten ab

Problem:

Zugriff auf die berechneten Höhen- und Breitenwerte von Ein Element aus einem domänenübergreifenden Iframe kann eine Herausforderung sein, insbesondere wenn Sie nicht auf den Inhalt des Iframes zugreifen können direkt.

Lösung:

Browserspezifische Funktionen nutzen:

  • Firefox, Opera, Safari: window.getComputedStyle(element)
  • IE: element.currentStyle

Gilt für domänenübergreifende Inhalte:

Um berechnete Stile aus domänenübergreifenden Inhalten abzurufen, können Sie window.getComputedStyle in modernen Browsern oder element.currentStyle in verwenden IE. Diese Funktionen funktionieren jedoch nur auf Elementen innerhalb des aktuellen Dokuments, sodass Sie vor der Verwendung in das DOM des Iframes navigieren müssen.

Beispiel (WebKit):

window.getComputedStyle(document.getElementById("frameId"), null).getPropertyValue("height")

Native jQuery-Funktion:

Alternativ können Sie jQuerys verwenden .height()-Funktion, die den Prozess vereinfacht:

$('#frameId').height();

Zusätzliche Hinweise:

  • Es ist wichtig zu beachten, dass window.getComputedStyle ein unveränderliches Objekt zurückgibt mit den berechneten Stilen, während element.currentStyle ein Live-Objekt zurückgibt, das sich als Stil des Elements ändern kann Änderungen.
  • Möglicherweise müssen Sie dem Kopfelement im Iframe eine ID hinzufügen, um die spätere Auswahl zu erleichtern.

Das obige ist der detaillierte Inhalt vonWie kann ich berechnete Stile aus einem domänenübergreifenden Iframe abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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