Iframe Inhalt auslesen

crazy_chicken

Erfahrenes Mitglied
Hallo Zusammen,

ich habe gesucht, aber leider nichts gefunden, wo es funktioniert.
Ich will den Inhalt vom Iframe auslesen:

HTML:
<iframe id="textEditor"></iframe>

<script type="text/javascript">
textEditor.document.designMode="on";
var doc = textEditor.document;
doc.open();
var content = "das steht drin, das funktioniert auch";
doc.writeln(content);
doc.close();

//Funktioniert nicht 
content = $('#textEditor').document.body.innerHTML;
alert(content);

-->
</script>


Danke im Voraus!
 
Versuch mal:
Javascript:
var iframedocument =$('#textEditor')[0].contentDocument || $('#textEditor')[0].contentWindow.document;
var content = iframedocument.body.innerHTML;


Du könntest aber Probleme bekommen wenn das iFrame von einer anderen Domain kommt, ich habe es damals mit Window.postMessage gelöst, allerdings hatte ich da auch Zugriff auf den Inhalt des iFrames.
https://developer.mozilla.org/en-US/docs/Web/API/window.postMessage

Das würde dann etwa so aussehen:
Im Parent:
Javascript:
iframewindow = iframe.contentWindow || iframe;
iframewindow.postMessage("GiveMeYourContent!", "*");
$(window).on("message", function(e) {
var data = e.originalEvent.data; 
alert(data) //the data contains the content
}

Und im iFrame:
Javascript:
$(window).on("message", function(e) {
var data = e.originalEvent.data; 
if(data=="GiveMeYourContent!") {
parent.postMessage(jQuery("body").html(), "*");
}
 
Hi,

also ich habe es versucht, aber klappt nicht.
Woran kann es denn liegen? Ich habe im Iframe nur text drinstehen, also binde kein Inhalt fremder domain ein.
HTML:
var iframedocument =$('#textEditor')[0].contentDocument || $('#textEditor')[0].contentWindow.document;
alert(iframedocument.body); // liefert null zurück



Danke.
 
Zuletzt bearbeitet:
Ich lese mit php den inhalt meiner eigenen seite aus und schreibe diese in ein frame rein. Nach bearbeitung will ich dann den neuen inhalt haben.
Geht das ûberhaupt?

Danke.
 

Neue Beiträge

Zurück