IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

eval() sur IE


Sujet :

JavaScript

  1. #41
    Membre averti Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Points : 439
    Points
    439
    Par défaut
    Code : 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
     
    <html>
    <head>
    </head>
    <script type='text/javascript'>
    listStart= new Array() ;  
    function addToStart(fnc){ 
    	listStart[listStart.length]=fnc; 
    }
    function start(){  
    	for (i=0;i<listStart.length;i++){ 
    		if(listStart[i] instanceof Function) {
    			listStart[i]();
    		}
    		else {  eval (listStart[i]); }						 
    	   }
      }
     
    function one(){alert('one');}
    function two(arg1,arg2){alert(arg1+" "+arg2+" "+arg3);}
     
    addToStart(one);
    addToStart("two('un','deux', 'et trois')"); 
    </script>
     
    <body onload='start()'> // <= attention tu avais marqué onlaod et pas onload 
     
     
     // ou window.onload = start;  mais le soucis n'est pas là
     
    </body> 
    </html>

  2. #42
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    arf onlaod ...
    je devais penser à mon Caol Ila (googlise)

  3. #43
    Membre averti Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Points : 439
    Points
    439
    Par défaut
    C'est quoi? lol googlisse?

  4. #44
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    recherche "caol ila" sur google

    http://www.google.fr/search?le=en&ie...en-US:official

    l'abus d'alcool est dangereux pour la santé ...

  5. #45
    Membre averti Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Points : 439
    Points
    439
    Par défaut
    du whisky....ok je bois pas moi. lol mais jsuis musicien irlandais ecossais qd mm! ^^

  6. #46
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    non pas vrai je suis tallabardeur !!!

  7. #47
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Pk passer par des chaines ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    addToStart(function() {
       autoStart("message1","message2");
    })

  8. #48
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Citation Envoyé par speedev
    Bonjour

    J'ai une erreur "Argument non valide" sur IE à ce niveau :
    Code : 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
    function addToStart(fnc){
      if(!window.listStart) window.listStart = new Array();
      window.listStart.push(fnc)
    
    }
    function start(){
      var ls = window.listStart;
      if(ls){
        for(i=0; i<ls.length; i++){
          fnc = ls[i];
          if(typeof(fnc) == 'function'){
            fnc();
          } else {	  
            eval(fnc);
    // L'ERREUR SE SITUE A CE NIVEAU
          }
        }
      }
    }
    addToStart(drawerMenu.construct);
    IL s'agit d'un chargeur d'événement pour remplacer le onload du body.
    Le code n'est pas de moi. Mais l'erreur qui intervient empêche un de mes scripts de s'exécuter. Je n'arrive à résoudre le bug. Vu que l'erreur est située à une ligne plutôt avancée, je peux en déduire que l'erreur apparait daans l'une des boucles du for()...

    il n'y a aucune erreru dans ce script c'est dans l'usage que tu en fait qu'il y en a une.

    lorsque tu fait un addToStart tu passe en parametre le nom d'une fonction. dans ce cas c'est func() qui est appelé

    l'autre façon de l'utiliser est de lui passer un code javascript
    addToStart("mavar=45;");

    dans ce cas c'est le eval qui est utilisé
    donc si tu a un erreur sur le eval c'est que dans un de test addToStart tu à un mauvais parametre

    ajoute juste avant le eval un alert(func) il t'affichera le code fautif et te permettra de coriger l'appel à addToStart


    Pour tous ce script permet d'ajouter des éléments au onLoad de telle sorte de pouvoir en mettre plusieurs.

    je vous le recommande
    dans vos fichiers js si il doit y avoir un elemeent qui se charge au démarage il vous suffit aalors d'appeler addToStart

    le chargement du script suffit alors pour le rendre actif


    A+JYT

  9. #49
    Membre averti Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Points : 439
    Points
    439
    Par défaut
    ajoute juste avant le eval un alert(func) il t'affichera le code fautif et te permettra de coriger l'appel à addToStart
    Ben c'est ce qui m'a permi de trouver le code fautif oui...^^! Tu n'as pas lu la suite du post?? Tout est résolu depuis qlq temps déjà...ce qui te perturbe sont seulement les ptis trucs de froggy qui m'ont fait modifier les lignes de code, ce dernier reste exactement le même que le premier.

    tchaw

  10. #50
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    Heu j'ai pas trop compris mais ça à l'air de fonctionner au poil
    Code : 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
    <script>
    var listStart = [];  
     
    function addToStart(fnc) {
        listStart[listStart.length]=fnc;
    }
     
     
    function start() {  
        for(var i=0; i<listStart.length; i++) {
            listStart[i]();
        }
    }
     
    function one() {
        alert("one");
    }
     
    function two(xx) {
        alert(xx);
    }
     
    addToStart(one);
    addToStart(function(){ two("hello"); });
     
    window.onload = start; 
    </script>

    et pour simplifier, autant remplir l'array de façon homogène ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    addToStart(function(){one()};
    addToStart(function(){ two("hello"); });

  11. #51
    Membre averti Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Points : 439
    Points
    439
    Par défaut
    Cette ligne marche sur IE??
    Etonnant! Mais tant mieux! C'est vrai qu'il y a nettement moyen de simplifier

Discussions similaires

  1. [AC-2007] Fonction EVAL sur contrôle lié à une colonne type money
    Par Piou2fois dans le forum Projets ADP
    Réponses: 2
    Dernier message: 05/12/2014, 12h38
  2. Eval qui fonctionne sur Firefox mais pas sur IE :D
    Par Comawhite dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/10/2006, 11h31
  3. [PHP-JS] Besoin d'aide sur eval()
    Par KneXtasY dans le forum Langage
    Réponses: 6
    Dernier message: 28/06/2006, 10h35
  4. [Eval] Problème de boucle for sur des tableaux
    Par battle_benny dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/01/2006, 23h55
  5. 'undefined' non interceptable sur 'eval' ?
    Par Johnny Ryall dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/06/2005, 11h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo