Problem mit IE7 und javascript
Frank L.
- javascript
Hi,
ich habe folgendes Problem:
ich bastel mir gerade einen wysiwyg edit. Nun möchte ich Text der aus meiner Datenbank kommt beim laden der Seite in mein editor laden, dieser ist in einem <iframe>.
ich leite also mit <body onload="Init()"> diese funktion ein.
kurz noch den quelltext zusammengefasst sieht das so aus:
<body onload="Init()">
<form ... onSubmit="doSend()" name="form">
...
<iframe id="iView"></iframe>
...
</form>
</body>
für den Firefox sieht die funktion Init() so aus:
document.getElementById('iView').contentWindow.document.designMode = "on";
sqlText = '<strong>Teststring</strong>';
document.getElementById('iView').contentWindow.document.body.innerHTML = sqlText.toString();
Funktioniert auch super im Fux!
für den IE7 sieht das so aus:
iView.document.designMode = 'On'; //das hier geht
sqlText = '<strong>Teststring</strong>';
iView.document.body.innerHTML = sqlText; //dies hier nicht mehr
und das funktioniert nicht ... :( bitte - wie sieht das richtig für den IE7 aus? Ich verzweifel leider gerade da immer folgender Fehler kommt:
'iView.document.body' ist Null oder kein Objekt
ich habs nun mit:
window.setTimeout("iView.document.body.innerHTML = sqlText");
hinbekommen, gibts evtl noch eine andere möglichkeit?
Hallo,
ich habs nun mit:
window.setTimeout("iView.document.body.innerHTML = sqlText");
>
> hinbekommen, gibts evtl noch eine andere möglichkeit?
Anscheinend feuert der load-Event im oberen Dokument noch bevor das Dokument im iframe komplett geladen ist. (Auch wenn ich mir das nicht recht erklären kann.) Du kannst also die Datenübergabe beim load-Event des Dokuments im iframe starten.
Im iframe:
window.onload = loadHandler;
Oder vielleicht geht es auch aus dem oberen Dokument:
window.frames.iView.onload = loadHandler;
loadHandler ist dann eine entsprechende Funktion.
Dumm wäre natürlich, wenn der iframe-load-Event einmal vor dem load-Event des oberen Dokuments feuert, dann wird der Handler gar nicht gestartet. Du kannst daher prüfen, ob du auf document.body des iframes zugreifen kannst. Wenn nicht, dann musst du bis zum onload warten.
Mathias
--
[SELFHTML aktuell Weblog](http://aktuell.de.selfhtml.org/weblog/)