javascript Greasemonkey : problème de perfo ?

javascript Greasemonkey : problème de perfo ? - HTML/CSS - Programmation

Marsh Posté le 20-12-2006 à 12:04:29    

Salut à tous
 
Je suis derrière un proxy qui bloque forum-images mais pas forum.hardware.fr ...
Ce qui fait qu'aucune des images (avatars, smiley, drapal ...) ne s'affiche
 
Je me suis donc fait un petit script greasemonkey pour intercepter l'url des images et les modifier ...
 
la bonne nouvelle c'est que ça fonctionne  :bounce:  
 
mais la mauvaise c'est qu'il semble y avoir un problème de perfo : seulement les 3 premiers quarts de la page environ sont modifiés correctement, le quart restant n'est plus modifié ... J'imagine 2 hypothèses  
- quand il y a trop d'images (et il y en a beaucoup sur ce forum, entre les smiley, les avatars etc) la page est affichée alors que le script n'a pas fini son boulot ...
- J'utilise des variables trop petites pour tout contenir ...
 
Je suis pas expert en javascript j'ai juste quelques notions de prog et j'ai récupéré des scripts existants pour les modifier ... donc il peut y avoir quelques aberations dans ma gestion des variables  :sarcastic:  
 
Bref, voici le script à améliorer :
 

Code :
  1. // ==UserScript==
  2. // @name   Source des images sur HFR
  3. // @namespace  http://forum.hardware.fr
  4. // @description  Replace /forum-images. with /forum.  
  5. // @include   http://forum.hardware.fr/*
  6. // ==/UserScript==
  7. (function(){
  8. var uim;
  9.   var l = document.getElementsByTagName("img" );
  10.   for (var cand = null, i = 0; (cand = l[i]); i++) {
  11.     uim = cand.getAttribute('src');
  12. if(uim.search("forum-images" ) >= 0)
  13.   cand.setAttribute('src',uim.replace('forum-images', 'forum'));
  14.   }
  15.  
  16.   })();


 
merci d'avance pour votre aide !

Reply

Marsh Posté le 20-12-2006 à 12:04:29   

Reply

Marsh Posté le 20-12-2006 à 12:09:42    

en fait j'aimerai bien savoir comment exactement un script greasemonkey interagit avec la page ... il se lance avant, pendant, après ...?

 

parce que peut-être qu'au lieu de faire une boucle for je pourrai directement faire les modifs, du genre

 
Code :
  1. if(document.getElementsByTagName("img" ).getAttribute("src" ).search("forum-images" ) >= 0)
  2. document.getElementsByTagName("img" ).setAttribute('src',uim.replace('forum-images', 'forum');


Message édité par vag de marrs le 20-12-2006 à 12:19:16
Reply

Marsh Posté le 20-12-2006 à 12:11:26    

Peut-être le .search vraiment pas top... En testant plutôt les premiers caractères, tu devrais gagner en perf sûrement

Reply

Marsh Posté le 20-12-2006 à 12:17:55    

tu peux me donner la syntaxe pour tester les caractères stp :D enfin si tu la connais pas par coeur je chercherai


Message édité par vag de marrs le 20-12-2006 à 12:21:24
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed