Beste Tweakers,
Op een pagina die ik aan het ontwikkelen ben kunnen er blokken met HTML/JS code (soort van widgets/plugins) dynamisch ingevoegd worden aan een pagina. De code die ingevoegd kan worden kan ook zelf door de gebruiker bepaald worden, en kan eventueel ook (externe) javascript bevatten.
Nu werkt dit allemaal erg goed TOTDAT men een blok HTML/JS invoegd dat gebruik maakt van een document.write of document.writeln functie. Zodra een van deze functies namelijk ingevoegd wordt zal er een nieuwe pagina aangemaakt worden(dmv document.open). Wat ik zou willen bereiken is dat deze document.write aanroepen de inhoud wegschrijven op de plaats waar de script tag ingevoegd is!
De vraag is dus of het mogelijk is om deze code dynamisch in te voegen en uit te laten voeren zonder dat de inhoud van de huidige pagina verloreren gaat! Ik heb zitten zoeken maar kom op echt niets bruikbaars uit.
Voorbeeld
Een voorbeeldje waar een dergelijke fout zich voordoet staat hieronder.
Ik zou hier graag als resultaat terugkrijgen `Het systeem werkt _niet_ niet.`. Wat er echter gebeurd is dat er een nieuwe pagina opent waarin alleen de tekst `niet` komt te staan.
De pagina die de dynamische html/javascript inlaad:
En het bijbehorende stukje JS dat ingevoegd is, insert.js:
Alvast hartelijk bedankt!
Op een pagina die ik aan het ontwikkelen ben kunnen er blokken met HTML/JS code (soort van widgets/plugins) dynamisch ingevoegd worden aan een pagina. De code die ingevoegd kan worden kan ook zelf door de gebruiker bepaald worden, en kan eventueel ook (externe) javascript bevatten.
Nu werkt dit allemaal erg goed TOTDAT men een blok HTML/JS invoegd dat gebruik maakt van een document.write of document.writeln functie. Zodra een van deze functies namelijk ingevoegd wordt zal er een nieuwe pagina aangemaakt worden(dmv document.open). Wat ik zou willen bereiken is dat deze document.write aanroepen de inhoud wegschrijven op de plaats waar de script tag ingevoegd is!
De vraag is dus of het mogelijk is om deze code dynamisch in te voegen en uit te laten voeren zonder dat de inhoud van de huidige pagina verloreren gaat! Ik heb zitten zoeken maar kom op echt niets bruikbaars uit.
Voorbeeld
Een voorbeeldje waar een dergelijke fout zich voordoet staat hieronder.
Ik zou hier graag als resultaat terugkrijgen `Het systeem werkt _niet_ niet.`. Wat er echter gebeurd is dat er een nieuwe pagina opent waarin alleen de tekst `niet` komt te staan.
De pagina die de dynamische html/javascript inlaad:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script> <script type="text/javascript"> $( function(){ $('#insert').load('insert.js'); } ); </script> </head> <body> Het systeem werkt <span id="insert"> </span> niet. </body> </html> |
En het bijbehorende stukje JS dat ingevoegd is, insert.js:
HTML:
1
2
3
| _ <script type="text/javascript">document.write('niet');</script> _ |
Alvast hartelijk bedankt!
[ Voor 35% gewijzigd door maurad3r op 18-09-2009 18:38 ]