write in iframe
criss
- javascript
Ich möchte in ein iframe schreiben ähnlich:
var win = window.open('', "Bookmark", width=450,height=200,left=100,top=200");
win.document.write("hallo Welt");
win.document.close();
dies erzeugt ein neues Fenster. Ich möchte aber in eine bestehendes iframe schreiben:
<iframe id="docframe" frameborder="0" src=""></iframe>
wie muss ich also vorgehen?
Hallo,
Ich möchte in ein iframe schreiben ähnlich:
var win = window.open('', "Bookmark", width=450,height=200,left=100,top=200");
win.document.write("hallo Welt");
win.document.close();
>
> dies erzeugt ein neues Fenster. Ich möchte aber in eine bestehendes iframe schreiben:
>
> `<iframe id="docframe" frameborder="0" src=""></iframe>`{:.language-html}
verpasse Deinem Iframe ein name-Attribut. Das hilft Dir beim Zugriff.
Verschaffe Dir Zugriff auf das document-Objekt Deines Iframes, so wie es im Abschnitt <http://de.selfhtml.org/javascript/objekte/frames.htm@title=Frames> der Javascript-Objektreferenz von SELFHTML beschrieben ist, z.B. über den Namen docframe für Deinen Iframe:
`<iframe name="docframe" frameborder="0" src=""></iframe>`{:.language-html}
kannst Du mit Javascript über:
~~~javascript
var doc = top.docframe.document;
doc.open();
// weiter wie gehabt.
// Bitte sei so nett - und schreibe ein gültiges HTML-Dokument :-)
auf das document-Objekt Deines Iframes zugreifen.
Hast Du eine komplex aufgebaute Frame-Welt (ich hoffe ja nicht), hilft Dir Svens Artikel Fenster- und Frameszugriff sicher weiter.
Freundliche Grüße
Vinzenz
Danke für diene Hilfe.
Da ich aber gern mit ID arbeite und zum Teil auch muss habe ich deinen Methode zum ansprechen in eine globale variable gelegt und dann eine weitere mit getElementById und habe beide mal in FireBug angesehen und siehe da eine Eigenschaft ab der sich beide Methoden wieder gleichen "contentDocument" unter FireFox funtioniert es super nur IE will nicht und ein so geiles debug tool wie FireBug gibt es da nicht. Also mit FireBug-Lite gearbeitet und den Namen mal nach Intuition gefolgt und habe es dann so gelöst
var doc = document.getElementById('docframe').contentWindow.document;
doc.open();
doc.write("<html><body>hallo Welt!</body></html>");
doc.close();
Sowohl deine Methode als auch meine schießen FireFox ab und führen in IE zu einem Fehler wenn in iframe vorher ein PDF geladen war, ich habe iframe eine leere Seite (.src = "") gegeben und dann noch eine Schleife damit der Browser genug zeit hat diese Seite zu laden. Das finde ich aber nicht so prickelnd da es da auch mal sein kann das der Browser schneller mit zählen ist als mit dem laden der leeren Seite. Gibt es eine Möglichkeit zu prüfen ob die Seite vollständig geladen ist?
"Das Format Ihres Postings scheint unsauber zu sein (z. B. keine Zeilenumbrüche, keine Satzzeichen, alles klein geschrieben oder ähnliches). Solche Postings sind ungern gesehen, da sie oft schwer zu lesen sind. Sind Sie sicher, dass Sie so posten möchten?"
Wer ist eigentlich auf so eine bescheuerte Idee gekommen den Inhalt zu prüfen ob er "schön" geschrieben wurde. Die Frage im Abgang ist gut "Sind Sie sicher, dass Sie so posten möchten?" eigentlich eine zwei Antworten Frage (JA/NEIN) nur ist die Option JA irgendwie abhanden gekommen. Und manchmal sind die Fragen nun mal keine Lyrischen Werke der Weltliteratur sondern einfach kurze Texte (aber nicht weniger Inhaltlich).
– Footerposing um Fehler Meldung zu umgehen -