11548 sujets

JavaScript, DOM et API Web HTML5

salut tout le monde ,

j'ai developper une application avec Qt4/C++ qui me permet de charger une page web a l'aide de la libririe WebKit integré à Qt4
puis injecter et evaluer des script "javascript" a cette page .
le script que je veux l'injecter a la page web charger sert a avoir les resultats de sorties des fonction "javascript" existant sur cette page ,
et qui sont applées de cette maniére :
 <a href="javascript:onclick=nom_de_fonction()"> 

pour cela j'ai fait un script qui detecte tous les appels de ce type et puis extraire le nom_de_fonction()
dans le variable nom_fct, voila le script :

 var baliseLien = document.getElementsByTagName("a") ; 
 var i;
 var j;
 var nom_fct;
 var debut;
 var r = /(javascript:onClick(.+))/gi;
  for (i = 0; i < baliseLien.length; i++)
  { 
    if (r.test(baliseLien[i].href))
    {
      r.test(""); //ré-initialisation de la méthode test()
      j=0; 
      while ( baliseLien[i].href[j]!= '=') { j++;   }
     debut = j+1;
     nom_fct="";
      while (( debut < baliseLien[i].href.length)&& (baliseLien[i].href[debut]!= ';'))
                {
                      nom_fct=nom_fct+baliseLien[i].href[debut];
                      debut++;
                }
}
}

maintenant pour voir les resultas de sorties de ces fonctions que je vient d'extrait leurs nom je veux utiliser
window.addEventListener("load",nom_fct, false);

mais ça marche plus car "nom_fct" est une variable , comment je doit utiliser addEventListener pour voir
les resultats de sorties des fonctions "javascript"? vous pouvez m'aider ?

merci d'avance pour tout aide . [/i][/i][/i][/i][/i]
salut ,

j'ai arrivé à faire un script qui fait l'exraction des fonctions appeler par la structure javascript:onclick=..

 var baliseLien = document.getElementsByTagName("a") ; 
 var i;
 var j;
 var nom_fct;
 var debut;
 var r = /(javascript:onClick(.+))/gi;
  for (i = 0; i < baliseLien.length; i++)
  { 
    if (r.test(baliseLien[i].href))
    {
      r.test(""); //ré-initialisation de la méthode test()
// recuperer le nom de la fonction apres onclick=  dans le variable nom_fct
      j=0; 
      while ( baliseLien[i].href[j]!= '=') { j++;   }
     debut = j+1;
     nom_fct="";
      while (( debut < baliseLien[i].href.length)&& (baliseLien[i].href[debut]!= ';'))
                {
                      nom_fct=nom_fct+baliseLien[i].href[debut];
                      debut++;
                }
.....


puis voir leurs resultats de sorties , on utilisant addEventListener

var f='window.addEventListener(\"load\",' +nom_fct+', false);';
var ff='window.attachEvent(\"onload\",'+nom_fct+');';
  if (window.addEventListener) {
         eval(f);
      } else if (document.addEventListener) {
         eval(f);
      } else if (window.attachEvent) {
         eval(ff);
      }
  
    }  
  }

pour les fonction sans paramettre je voie bien les resultats de sorties mais pour les fonctions avec paramettre je n'est pas encore des idées
pour l'executer et voir ce qu'il passe à l'interieure , vous pouvez m'aider par des points ou des idées pour le faire ??
merci d'avance pour tout aide ,[/i][/i][/i][/i][/i]