Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
865 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Ajax : exécution d'un code javascript dans la page appelée , IE grrr

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ajax : exécution d'un code javascript dans la page appelée , IE grrr

n°1513179
nucl3arfl0
Better Call Saul
Posté le 11-02-2007 à 12:06:48  profilanswer
 

Bonjour à tous,
 
je suis en train de m'arracher les cheveux avec ce navigateur pourri qu'est IE.
Mon but est d'exécuter une fonction javascript dans la page appelée par Ajax.
Le code marche à merveille sur Firefox, mais IE il veut rien savoir.

Code :
  1. xhr.onreadystatechange = function(){
  2.  // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  3.  if(xhr.readyState == 4 && xhr.status == 200){
  4.   leselect = xhr.responseText;
  5.   var c = document.getElementById('affichage_liste_semaine');
  6.   c.innerHTML = leselect;
  7.   var jscript = c.getElementsByTagName('script');
  8.   for (var i=0; i<jscript.length; i++) {
  9.       eval(jscript[i].innerHTML);
  10.             }
  11.  }
  12. }


Quand je teste jscript.length, sous Firefox il vaut 1, sous IE il vaut 0.
Comment résoudre ce problème ? Je sèche et je n'ai trouvé aucune solution pour IE  :cry:  
 
Merci pour votre aide.

mood
Publicité
Posté le 11-02-2007 à 12:06:48  profilanswer
 

n°1513329
nucl3arfl0
Better Call Saul
Posté le 11-02-2007 à 18:09:09  profilanswer
 

Un petit up ! En espérant que je trouverai une solution...

n°1513330
nucl3arfl0
Better Call Saul
Posté le 11-02-2007 à 18:24:02  profilanswer
 

Après un après-midi complet de recherche, j'ai enfin trouvé la solution !

Code :
  1. xhr.onreadystatechange = function(){
  2.  // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  3.  if(xhr.readyState == 4 && xhr.status == 200){
  4.   leselect = xhr.responseText;
  5.   if(launchJavascript(leselect) == false)
  6.   {
  7.          var c = document.getElementById('affichage_liste_semaine');
  8.          c.innerHTML = leselect;
  9.   }
  10.  }
  11. }


launcheJavascript:

Code :
  1. function launchJavascript(responseText) {
  2.       // RegExp from prototype.sonio.net
  3.       var ScriptFragment = '(?:<script.*?> )((\n|.)*?)(?:</script> )';
  4.          
  5.       var match    = new RegExp(ScriptFragment, 'img');
  6.       var scripts  = responseText.match(match);
  7.      
  8.       if(scripts) {
  9.             var js = '';
  10.             for(var s = 0; s < scripts.length; s++) {
  11.                   var match = new RegExp(ScriptFragment, 'im');
  12.                   js += scripts[s].match(match)[1];
  13.             }
  14.             eval(js);
  15.             return true;
  16.       }
  17.       return false;
  18. }


 
J'ai trouvé cette solution sur ce site: http://rabaix.net/index.php/en/art [...] _libraries
En espérant que ça aidera quelqu'un d'autre !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Ajax : exécution d'un code javascript dans la page appelée , IE grrr

 

Sujets relatifs
[ActionScript & Javascript] SetVariable sous Flash 9animation - se déplacer librement dans une page
incompatibilités de 2 javascript ?[resolu]gros doute par rapport à l'affichage écran d'un code
editeur html dans page web[CSS/JSP] Pb d'accès au style CSS via page JSP [Resolu]
scritp qui empeche le curseur de la souri de sortir de la page.curseur qui ne peut sortir de la page
Excel -> Word : Problème de saut de ligne/page lors d'une fusionExecution de commande et récuperation de résultat ?
Plus de sujets relatifs à : Ajax : exécution d'un code javascript dans la page appelée , IE grrr


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR