Hoewel ik in mijn andere topic ook over dit onderwerp bezig was, vond ik het niet meer goed onder de titel passen - vandaar een nieuw topic.
Ik heb XMLHttpRequest (XHR) geimplementeerd in mijn webpagina. Nu wil ik echter aan de hand van de teruggegeven elementen wat verschillende acties uithalen. Een daarvan is om op de client een functiebibliotheek op te bouwen. Voorkeur heeft het om scripts met een 'src' toe te voegen, aangezien deze beter gecached worden. Maar af en toe zullen het ook eens custom functies zijn. Daarbij moet ik de inhoud van het element uitlezen en deze toevoegen aan de eigenlijke pagina om de functie uit te kunnen voeren. Dat uitlezen werkt om de één of andere vage reden niet.
Hier een snippet van de bijbehorende code:
Ik heb vele alternatieven geprobeerd en ook een goede reference geprobeerd te zoeken. Zonder succes. Ik heb verder nog geprobeerd
Alles staat overigens in een CDATA:
Ik heb XMLHttpRequest (XHR) geimplementeerd in mijn webpagina. Nu wil ik echter aan de hand van de teruggegeven elementen wat verschillende acties uithalen. Een daarvan is om op de client een functiebibliotheek op te bouwen. Voorkeur heeft het om scripts met een 'src' toe te voegen, aangezien deze beter gecached worden. Maar af en toe zullen het ook eens custom functies zijn. Daarbij moet ik de inhoud van het element uitlezen en deze toevoegen aan de eigenlijke pagina om de functie uit te kunnen voeren. Dat uitlezen werkt om de één of andere vage reden niet.
Hier een snippet van de bijbehorende code:
JavaScript:
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
33
34
35
36
37
38
39
40
41
| //[.. snip ..] server.connections.parseResponseDOM(this.responseXML); // Start with the root. 0 = XML decl. }, // Parse the response XML DOM. // We only need new javascript function. Save our bandwidth! parseResponseDOM : function(oDOMElm) { if (oDOMElm.hasChildNodes == false) return; // else var iChild = 0; while (oChild = oDOMElm.childNodes[iChild++]) { // Switch (prefix:nodeName) - Empty prefix is not rendered switch (oChild.nodeName) { case 'core:action': alert('action'); case 'core:function': //// WERKT NIET!? //// alert(oChild.nodeValue); //////////////////////// oScript = document.createElement('script'); oScript.type = 'text/javascript'; oScript.id = oChild.getAttribute('id'); oScript.text = oChild.textContent; case 'core:script': alert('script'); default: this.parseResponseDOM(oChild); // If only default - Do nothing, just go on parsing - else, go on parsing } } return; } |
Ik heb vele alternatieven geprobeerd en ook een goede reference geprobeerd te zoeken. Zonder succes. Ik heb verder nog geprobeerd
JavaScript:
1
2
3
4
5
6
7
| .textContent .text .data .responseText .textValue .firstChild.* |
Alles staat overigens in een CDATA:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| .. <core:action> <core:function id="doRaar"> <![CDATA[ var ik='gek'; function doRaar() { alert(ik); } ]]> </core:function> <core:script> <![CDATA[ doRaar(); ]]> </core:script> </core:action> .. |
[ Voor 12% gewijzigd door r0bert op 14-04-2008 14:43 ]