Bonjour
En java il existe des tag qui m ont permit de bufferiser une page c est a dire recuperer le flux de sortie de la page pour y faire des traitements.
Quelqu'un aurrais une idee pour faire en faire en javascript??
Merci
Version imprimable
Bonjour
En java il existe des tag qui m ont permit de bufferiser une page c est a dire recuperer le flux de sortie de la page pour y faire des traitements.
Quelqu'un aurrais une idee pour faire en faire en javascript??
Merci
Buffersier en javascript ??
Quel en serait le but ?
tu peux jouer sur le style visible si c'est une question d'affichage
non
-> fais tes propres traitements avec
+cssCitation:
getElementsByTagName
je t explike mon probleme.
J'aimerais grace a un fichier xml contenant des informations un mot trait� les mots qui se trouvent dans la page html.
Donc j aimerais savoir si il existe une fonction ki permettais de d 'interceper le flux avant affichage pour y chercher le mots et ainsi faire les traitements ke je veux
Fais le cot� serveur, ce sera plus facile.
Sinon ajax + xsl.
Tu peux si ta page ne contient pas de document.write(), de HTMLElement.innerHTML=someNewHTML ou de manipulations DOM en g�n�ral. Tout JavaScript est en fait assez malvenu. Tu peux te permettre ce genre de truc si ta page n'est faite qu'en HTML pur et dur (avec, si tu veux du ASP/PHP cot� serveur, mais ca c'est une autre histoire).
Mais cela veut dire que ta page sera en fait charg�e une deuxi�me fois par le browser... C'est vraiment tr�s crade comme truc, je te conseille vivement de passer par un script serveur.
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
33
34
35
36
37
38
39
40
41
42
43
44 <html> <head> <title>xxx</title> <script><!-- window.rewriteHTML = function() { // D�tection du HTML var myDocType = ""; //"<!DOCTYPE html ... !>"; var HTML = ""; if (document.documentElement.outerHTML) { HTML = document.documentElement.outerHTML; } else { HTML = "<html>"+document.documentElement.innerHTML+"</html>"; } HTML = myDocType + HTML.replace('window.rewriteHTML','window.rewriteHTML2'); // Traitement HTML = HTML.replace(/ne marche pas/gi, "marche"); // Affichage document.write(HTML); } if (window["rewriteHTML"]) { if (window.attachEvent) { window.attachEvent("onload", rewriteHTML); } else if (window.addEventListener) { window.addEventListener('load', rewriteHTML); } else { window.onload=rewriteHTML; } } --></script> </head> <body> Le texte suivant sera affich� autrement : <br/> Ca ne marche pas.<br/><br/> Ceux-ci vont s'afficher en doublon : <br/> <script><!-- document.write('[1]'); --></script> <span id="span"></span> <script><!-- document.getElementById('span').innerHTML+='[2]'; --></script> </body> </html>
Ici j'ai une version qui marche m�me avec du JavaScript, mais ca ne marche que si on ajoute� toutes les balisesCode:type="application/dont-load"
Voici le code (ne pas oublier de mettre votre doctype comme valeur de myDocType):Code:script
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 <html> <head> <title>xxx</title> <script><!-- window.rewriteHTML = function() { // D�tection du HTML var myDocType = ""; //"<!DOCTYPE html ... !>"; var HTML = ""; if (document.documentElement.outerHTML) { HTML = document.documentElement.outerHTML; } else { HTML = "<html>"+document.documentElement.innerHTML+"</html>"; } HTML = myDocType + HTML.replace('window.rewriteHTML','window.rewriteHTML2').replace(new RegExp("type=(|'|\")application/dont-load(|'|\")","gi"),'type="text/javascript"'); // Traitement HTML = HTML.replace(/ne marche pas/gi, "marche"); // Affichage document.write(HTML); } if (window["rewriteHTML"]) { if (window.attachEvent) { window.attachEvent("onload", rewriteHTML); } else if (window.addEventListener) { window.addEventListener('load', rewriteHTML, true); } else { window.onload=rewriteHTML; } } --></script> </head> <body> Le texte suivant sera affich� autrement : <br/> Ca ne marche pas.<br/><br/> Ceux-ci risquent s'afficher en doublon : <br/> <span id="span1"> <script type="application/dont-load"><!-- // Test passed at v2.0 document.write('[1]'); --></script> </span> <span id="span2"></span> <script type="application/dont-load"><!-- // Test padded at v3.0 document.getElementById('span2').innerHTML+='[2]'; --></script> <span id="span3"></span> <script type="application/dont-load"><!-- // Test passed at v1.0 document.getElementById('span3').innerHTML='[3]'; --></script> <span id="span4">[4]</span> <script type="application/dont-load"><!-- // Test passed at v3.0 document.getElementById('span4').innerHTML=document.getElementById('span4').innerHTML.replace(/\[4\]/g,'[4][5]'); --></script> </body> </html>
Current version works on : IE (6.0 and 7.0 tested), FF (2.0 tested), OPERA (9.20 tested), SAFARI (3.1 tested)
Ouai mais je ne vois toujours pas l'int�r�t ^^ ...
Non plus toujours pas ...
sinon il y a aussi
tu colles tout ce que tu veux dedans, tu modifies ensuites ce que tu veux dedans, et une fois fini tu l'appendes au body ...Code:var MonBuffer=document.createDocumentFragment();
L'int�r�t, c'est que si tu ne dispose pas de language serveur, tu peux quand m�me faire des traitements sur ta page.
� ce moment l� on peut se servir de nimporte quoi comme "Buffer" ...
Un style display, un style visibility, un createElement ...
Bref la notion de "buffer" est vaste :D
de plus en g�n�ral en JAVASCRIPT on effectue les traitements une fois la page g�n�r�e ...
et dans la plupart des cas sur une action de l'utilisateur mais bon ...:roll: