Ik ben wat aan het experimenteren met javascript voor het CMS wat ik ga schrijven. Ik wil een veelgebruikte techniek hanteren voor het laden van een wyswyg component, namelijk door de pagina eerst te laden met een textarea waarin de inhoud zit en door deze bij het onload event vervangen met een iframe welke dan geinitialiseerd wordt. Ik stuit hier echter op problemen.
De pagina is hier te vinden: http://www.sarris.nl/test.html
De iframe wordt aangemaakt en wordt ingevoegd als vervanging voor de textarea. Alleen krijg ik het niet voor elkaar om de inhoud van de textarea in het iframe te zetten. In Mozilla gebeurt er gewoon helemaal niets en in IE krijg ik een fout melding omdat iframeBody gelijk is aan null. Enig idee hoe ik dit kan oplossen?
De pagina is hier te vinden: http://www.sarris.nl/test.html
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| <html>
<head>
<script type="text/javascript">
function test()
{
textarea = document.getElementById('testTextarea');
textareaContent = textarea.value;
iframe = document.createElement('iframe');
iframe.id = 'testIframe';
container = textarea.parentNode;
container.replaceChild(iframe, textarea);
iframeWindow = iframe.contentWindow;
iframeDocument = iframeWindow.document;
iframeBody = iframeDocument.body;
contentNode = document.createTextNode(textareaContent);
iframeBody.appendChild(contentNode);
}
</script>
</head>
<body onload="test();">
<textarea id="testTextarea">test</textarea>
</body>
</html> |
De iframe wordt aangemaakt en wordt ingevoegd als vervanging voor de textarea. Alleen krijg ik het niet voor elkaar om de inhoud van de textarea in het iframe te zetten. In Mozilla gebeurt er gewoon helemaal niets en in IE krijg ik een fout melding omdat iframeBody gelijk is aan null. Enig idee hoe ik dit kan oplossen?