[JS] Vullen van conten in een nieuwe iframe wil niet lukken.

Pagina: 1
Acties:

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
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

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?

Noushka's Magnificent Dream | Unity


Verwijderd

Jou probleem hangt samen met mijn eerste reply in mijn wysiwyg editors topic;

[rml]Quist in "[ KB] WYSIWYG Editors in Javascript"[/rml]

code:
1
2
3
iframeDocument.open();
iframeDocument.write("");
iframeDocument.close();


Voeg dat toe en het werkt, raar maar waar. Helaas dus niet XHTML bestendige oplossing, maar van een wysiwyg editor moet je niet verwachten dat hij het in XHTML doet.

Het lijkt gewoon alsof Gecko nog helemaal niets met het document kan als je hem dynamisch hebt aangemaakt...

[ Voor 23% gewijzigd door Verwijderd op 05-04-2005 12:41 ]


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Thanks! Dat werkt idd. Ik moet echter wel voor die regels designMode aan zetten, is de iframe leeg op moment dat ik hem kan bewerken. Idd handig om een topic bij te houden om dit soort handigheidjes in te zetten. Als ik wat interesants vind zal ik het zeker plaatsen.

Noushka's Magnificent Dream | Unity