Hängen Sie ein Stylesheet an einen iframe mit jQuery an

8

Ich erstelle einen HTML-Editor, ähnlich dem, den ich gerade schreibe, mit der Ausgabe unten. Ich benutze ein iframe und dumping die $ htmlTextBox.val () in den Körper des iframe.

Ich versuche ein Stylesheet im iframe zu erstellen, damit es so gut wie möglich aussieht.

Vielen Dank im Voraus!

%Vor%     
hunter 09.03.2009, 04:07
quelle

5 Antworten

11

Während Sie mit einem document.styleSheets eines iframes interagieren können, ist die althergebrachte zuverlässige Methode, das Stylesheet dort zu haben (indem Sie einen iframe-src auf einen leeren Punkt schreiben) Dokument mit dem gewünschten Stylesheet) oder setzen Sie es mit document.write() ein. Zum Beispiel:

%Vor%

(Dies setzt auch das iframe-Dokument auf den Standards-Modus, vorausgesetzt, dass Sie das wollen.)

    
bobince 09.03.2009, 04:42
quelle
11

Folgeaktion:

HTML

%Vor%

jQuery

%Vor%     
hunter 08.03.2011 16:29
quelle
4

Wir können style-Tags in iframe einfügen.

%Vor%     
Palani Kumar 02.09.2014 15:15
quelle
1

Dieser Code wurde unten aus der jHtmlArea-Quelle gezogen. Lustig ist, das Feature war da und ich habe es nicht bemerkt. Ich bin auf diese SO-Frage gestoßen, als ich versuchte herauszufinden, wie man es umsetzen kann. :)

Das ist nicht wirklich "jQuery", aber es funktioniert. Ich denke etwas mit Append ist nicht mit Iframe, so dass sie es Old School gemacht haben. Bobinces Antwort sieht auch gut aus und könnte zuverlässiger sein? Bisher scheint das in Ordnung zu sein.

%Vor%

BEARBEITEN : Ich denke, der Grund dafür ist, dass es dieselbeDomäne ist (einschließlich der Erstellung von iFrame in js). Andernfalls verhindern die üblichen Sicherheitsblöcke die Manipulation von iframe dom.

Siehe So wenden Sie CSS auf iFrame an

    
Jason 07.01.2010 16:33
quelle
1

Wenn Sie davon ausgehen, dass Sie sich in derselben Domäne befinden und sich nicht mit der domänenübergreifenden Sicherheit befassen, sollten Sie überprüfen, ob der iFrame geladen ist - NICHT NUR DAS IFRAME, SONDERN DAS DOKUMENT INNERHALB !! (Dies hat mich für eine Weile aufgehängt, während ich versuchte, .load() ) zu verwenden.

Dann greifen Sie mit jquery auf den Inhalt zu, greifen Sie auf den Kopf zu und hängen Sie Ihr Stylesheet an den Kopf an.

%Vor%     
Will Lanni 13.09.2014 01:05
quelle

Tags und Links