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 :

Comportement incompréhensible instructions Javascript selon contexte navigateur/serveur


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2013
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 39
    Par défaut Comportement incompréhensible instructions Javascript selon contexte navigateur/serveur
    Bonjour à tous,

    Besoin de vos lumières concernant un comportement incompréhensible selon contexte de certaines instructions javascript.

    Je développe une appli sous Visual Studio en asp.net 4.0.

    Deux instructions posent problème selon le contexte :

    1. Recherche dans un tableau

    J'ai une tableau défini ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var MonTableau = new Array();
    l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonTableau .indexOf(MonElement);
    :

    fonctionne avec firefox sur le serveur local asp de VS
    fonctionne avec firefox sur mon serveur iis
    fonctionne avec IE10 sur le serveur local asp de VS
    Ne fonctionne pas (fail complet) avec IE10 sur mon serveur iis : pourquoi ?

    J'ai contourné le problème en codant moi-même la recherche, mais bon.

    2. Changer la couleur de fond d'une cellule

    J'ai la fonction javascript suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            function changeColor(e_cell) {
     
               e_cell.style.background = "#FF0000";
               e_cell.innerHTML = "2";
               return false;
            }
    avec un appel du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "ondblclick" = "javascript:void changeColor(this);"
    Quelque soit, le contexte, la fonction est bien appelée. Par contre :

    Changement de couleur fonctionne avec firefox sur le serveur local asp de VS
    Changement de couleur fonctionne fonctionne avec firefox sur mon serveur iis
    Changement de couleur fonctionne fonctionne avec IE10 sur le serveur local asp de VS
    Changement de couleur fonctionne Ne fonctionne pas avec IE10 sur mon serveur iis (pas de fail, mais instruction muette, le e_cell.innerHTML = "2" s’exécute bien ensuite ) : pourquoi ?

    j'ai essayé une alternative comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e_cell.style = "background-color:Red;";
    , mais ça ne fonctionne qu'avec Firefox pour le coup.

    Bref, pour résumé, les deux instructions incriminées fonctionnent parfaitement avec Firefox, quelque soit le contexte (serveur asp local et IIS).
    Mais paradoxalement, fonctionnent avec IE10 sur le serveur local asp de VS, mais ne fonctionnent plus avec le même IE10 quand je déploie l'application sur mon serveur IIS.

    Bref j'ai besoin de vos explications car ça me laisse perplexe.

    D'avance merci

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

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Citation Envoyé par troycanneda Voir le message
    Bonjour à tous,

    Besoin de vos lumières concernant un comportement incompréhensible selon contexte de certaines instructions javascript.

    Je développe une appli sous Visual Studio en asp.net 4.0.

    Deux instructions posent problème selon le contexte :

    1. Recherche dans un tableau

    J'ai une tableau défini ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var MonTableau = new Array();
    l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonTableau .indexOf(MonElement);
    :

    fonctionne avec firefox sur le serveur local asp de VS
    fonctionne avec firefox sur mon serveur iis
    fonctionne avec IE10 sur le serveur local asp de VS
    Ne fonctionne pas (fail complet) avec IE10 sur mon serveur iis : pourquoi ?
    https://msdn.microsoft.com/fr-fr/lib...(v=vs.94).aspx
    Citation Envoyé par troycanneda Voir le message
    J'ai contourné le problème en codant moi-même la recherche, mais bon.

    2. Changer la couleur de fond d'une cellule

    J'ai la fonction javascript suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            function changeColor(e_cell) {
     
               e_cell.style.background = "#FF0000";
               e_cell.innerHTML = "2";
               return false;
            }
    avec un appel du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "ondblclick" = "javascript:void changeColor(this);"
    C'est quoi cette syntaxe ??? ça sort d'où ? C'es pas conforme HTML en tout cas.
    Citation Envoyé par troycanneda Voir le message

    Quelque soit, le contexte, la fonction est bien appelée. Par contre :

    Changement de couleur fonctionne avec firefox sur le serveur local asp de VS
    Changement de couleur fonctionne fonctionne avec firefox sur mon serveur iis
    Changement de couleur fonctionne fonctionne avec IE10 sur le serveur local asp de VS
    Changement de couleur fonctionne Ne fonctionne pas avec IE10 sur mon serveur iis (pas de fail, mais instruction muette, le e_cell.innerHTML = "2" s’exécute bien ensuite ) : pourquoi ?

    j'ai essayé une alternative comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e_cell.style = "background-color:Red;";
    , mais ça ne fonctionne qu'avec Firefox pour le coup.
    Là évidement ça risque pas marcher c'est non conforme au DOM binding (norme qui définie la relatoin entre Ecmascript: le langage et le DOM; élément HTML de la page)
    Citation Envoyé par troycanneda Voir le message
    Bref, pour résumé, les deux instructions incriminées fonctionnent parfaitement avec Firefox, quelque soit le contexte (serveur asp local et IIS).
    Mais paradoxalement, fonctionnent avec IE10 sur le serveur local asp de VS, mais ne fonctionnent plus avec le même IE10 quand je déploie l'application sur mon serveur IIS.

    Bref j'ai besoin de vos explications car ça me laisse perplexe.

    D'avance merci
    au vu du peut qui est fourni
    je dirait 3 choses
    écris d
    1. u HTML et du Javascript Conforme aux normes Ecmascript et W3C
    2. utilise la console et le débugger pour nous fournir les messages d'erreur et l'endroit où les erreurs se produisent
    3. vérifie comment sont configuré tes serveur et le X-UA-Compatible de tes page (merci microsoft)


    A+JYT

  3. #3
    Membre averti
    Inscrit en
    Août 2013
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 39
    Par défaut
    Merci pour ta réponse sekaijin,

    Bon, les puristes, pas taper concernant la conformité ou pas du code : certes, ce n'est peut être pas standard, je ne suis pas un spécialiste du javascript - c'est surement pour ça que je m'étonne de ces différences de comportement -, mais ça fonctionne parfaitement dans 3 contextes sur 4.

    Si tu as plus standard qu'un simple this.style.background = "#FF0000"; (puisque c'est juste cette instruction qui pose problème, et non l'appel de la fonction), je suis preneur.

    J'aimerai juste une explication du pourquoi des différences de comportement du javascript avec un même navigateur IE10 sur une même machine, selon que le site web s’exécute sur le serveur asp local de VS ou sur mon iis.

    vérifie comment sont configuré tes serveur et le X-UA-Compatible de tes page (merci microsoft)
    Peux tu être plus précis stp, que dois je vérifier ? Et puis je avoir une explication technique : en quoi la configuration du serveur a-t-elle une influence sur l'exécution du javascript ? N'est ce pas le navigateur qui exécute le code ?

    d'avance merci
    ++

Discussions similaires

  1. Comportement différent de cos() selon contexte de l'appel
    Par dreydrey dans le forum Bibliothèque standard
    Réponses: 3
    Dernier message: 10/01/2011, 17h01
  2. Réponses: 3
    Dernier message: 09/05/2009, 01h25
  3. [Serveur Samba] Comportement incompréhensible
    Par Siguillaume dans le forum Réseau
    Réponses: 1
    Dernier message: 26/10/2007, 16h55
  4. [Javascript] Javascript active dans navigateur
    Par nico33307 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/08/2005, 14h31
  5. [PHP-JS] Remplir un tableau javascript selon un tableau php
    Par jerome38000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/01/2005, 14h02

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