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
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
+cssgetElementsByTagName
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 X : Sélectionner tout - Visualiser dans une fenêtre à part
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 balises
Code : Sélectionner tout - Visualiser dans une fenêtre à part type="application/dont-load"
Voici le code (ne pas oublier de mettre votre doctype comme valeur de myDocType):
Code : Sélectionner tout - Visualiser dans une fenêtre à part script
Code X : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part 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![]()
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 ...![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager