Inhalt einer PHP Variable in iFrame laden

Guillermo

Mitglied
Hallo Leute :)
Ich schreibe gerade einen sehr einfachen online WYSIWYG Editor.
Soweit hat bis jetzt nach vielem Grübeln und Suchen auch alles geklappt.
Jetzt ist das Grundgerüst soweit fertig, jetzt fehlt aber nur noch eine Sache, einen Inhalt, also einen HTML Code, der in einer SQL Datenbank gespeichert ist, in das iFrame zu laden.
Bei Firefox,Opera und Safari funktioniert das , nicht aber im Internet Explorer.

Beim Laden der Seite wird eine Funktion "init" und eine Funktion "inhalt_in_frame_anzeigen" geladen (onLoad), das funktioniert wie gesagt bei den gennanten Browsern. Beim IE wird aber einfach garnichts angezeigt. Nach mehrmaligem Versuchen habe ich gemerkt, dass es an der Funktion "init" liegen muss, denn wenn ich diese nicht benützte, dann wird der Inhalt geladen, ich kann nichts mehr in das iFrame schreiben.

Hier mal der Code:
HTML:
<script>
// Inhalt der variable inhalt im editor iframe einzeigen
function inhalt_in_frame_anzeigen() frames['editor'].document.getElementsByTagName('body')[0].innerHTML = '<?php echo $inhalt ?>';	function delayedIni() frames['editor'].document.getElementsByTagName('body')[0].innerHTML = '<?php echo $inhalt ?>';
	//iframe initialisieren damit man inhalt  ändern kann
	function init() {
		if (document.all) frames.editor.document.designMode = "On";
		else document.getElementById("editor").contentDocument.designMode = "on"; 
	}
</script>

<body onload="init();inhalt_im_frame_anzeigen();" >
<iframe name="editor" id="editor"></iframe>
</body>

Wenn ihr Fragen habt, weil ihr meine Frage nicht richtig versteht, weil ich mich zu komplziert ausdrücke , bitte bescheid geben, ich muss dieses Problem unbedingt lösen!

Gruß Guillermo
 
Hi,

versuch mal, das iFrame-Dokument mit der Methode open zu öffnen, mit write Inhalt einzufügen und schliesse es zum Schluss mit Hilfe von close.
Code:
function inhalt_in_frame_anzeigen(){
  var objIframe = null;

  if(document.all && !window.opera){
    objIframe = document.editor.document;
  }else{
    objIframe = document.getElementById("editor").contentWindow.document;
  }

  if(objIframe != null)
    objIframe.designMode = "on";

  objIframe.open();
  objIframe.write("Text, der zu Beginn angezeigt werden soll.");
  objIframe.close();
}
Ciao
Quaese
 
Zurück