Domänenübergreifende Anpassung von iFrames mit CSS
Beim Arbeiten mit iFrames, die aus verschiedenen Domänen geladen werden, kann die Anwendung von CSS-Stilen auf die eingebettete Seite erfolgen eine Herausforderung aufgrund der domänenübergreifenden Richtlinie des Browsers. Hier sind jedoch zwei Lösungen, mit denen Sie CSS nahtlos zu Ihrem iFrame hinzufügen können:
1. Direkte Elementmanipulation:
Wenn Sie Zugriff auf das DOM des iFrames haben, können Sie mithilfe von JavaScript direkt ein Style-Tag an den Kopf des Iframe-Dokuments anhängen.
<code class="javascript">var cssLink = document.createElement("link"); cssLink.href = "file://path/to/style.css"; cssLink.rel = "stylesheet"; cssLink.type = "text/css"; frames['iframe'].document.body.appendChild(cssLink);</code>
2. jQuery-Methode:
Ein jQuery-freundlicherer Ansatz besteht darin, mit dem folgenden Code einen Stillink an den Kopf des iFrames anzuhängen:
<code class="javascript">var $head = $("iframe").contents().find("head"); $head.append($("<link/>", { rel: "stylesheet", href: "file://path/to/style.css", type: "text/css" }));</code>
Sicherheitsüberlegungen:
Es ist wichtig zu beachten, dass diese Lösungen die Umgehung der domänenübergreifenden Richtlinie beinhalten, was zu Sicherheitsbedenken führen kann. Um dies zu verhindern, stellen Sie sicher, dass der iFrame-Inhalt von einer vertrauenswürdigen Quelle stammt und dass die CSS-Datei keinen schädlichen Code enthält. Deaktivieren Sie bei Bedarf die Same-Origin-Richtlinie in Safari zu Testzwecken, indem Sie die unter „Deaktivieren der Same-Origin-Richtlinie in Safari“ beschriebenen Schritte ausführen.
Das obige ist der detaillierte Inhalt vonWie kann ich CSS-Stile auf iFrames aus verschiedenen Domänen anwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!