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 :

Blocage d'un événement par IE6 ?


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 47
    Points : 35
    Points
    35
    Par défaut Blocage d'un événement par IE6 ?
    Bonjour,

    Je ne demande pas forcément une résolution, mais plutôt des pistes de recherche.

    En effet, mon cas n'est pas très reproductible.

    En fait, j'ai programmé une petite application web qui affiche un graphe avec Google Visualization.

    Je charge un nuage de point et j'y ajoute un listener comme expliqué dans la doc de Google :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    chart = new google.visualization.ScatterChart(document.getElementById('matrice_div'));
            chart.draw(chart_view, chart_options);
            google.visualization.events.addListener(chart, 'select', selectHandler);
    La fonction selectHandler() est un affichage de tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function selectHandler()
        {
            var s = chart.getSelection();
            // La ligne de l'élément sélectionné
            ligne_selectionnee = s[0].row;
            //Je récupère l'élément 
            //Avec l'hypothès que les lignes n'ont pas changé (ce qui est le cas si je ne manipule pas les données en direct
            var debug_view = new google.visualization.DataView(data);
            debug_view.setRows([ligne_selectionnee]);
            debug_view.setColumns([1,2,3,4,5,6,7,0,8,9]);
            var debug_tab = new google.visualization.Table(document.getElementById('info_div'));
            debug_tab.draw(debug_view,table_options);
        }
    Tout ça marche très bien : quand je clique un point du graphe, un tableau s'affiche.

    Mais un utilisateur utilise IE6 et me dit que rien ne s'affiche lorsqu'il clique sur un point !

    J'ai donc installé IE6 (grâce à MulitIE, trop bien). Or ça marche correctement avec mon installation, même avec IE5.5!

    Est-ce que vous avez de billes sur les raisons qui pourraient empêcher certains événements de se produire ? Des réglages particuliers de IE6 ?

    Merci

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    getSelection() ça fait partie de l'API Google ? Car la méthode DOM du même nom ne s'applique qu'aux objets window et document et n'est pas compatible IE.

    Sinon,
    grâce à MulitIE, trop bien
    non, pas trop bien
    MultipleIE utilise en réalité le moteur de IE installé sur ta machine et ne reproduit qu'en partie l'apparence de IE6. Fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(navigator.userAgent);
    pour t'en persuader.

    A la rigueur, IETester est plus fiable mais le rendu est plus sommaire, l'idéal reste d'avoir un vrai IE6 sur un Virtual PC (disponible sur le site Microsoft).

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    Oui, getSelection() fait partie de l'API Google.

    Merci pour l'indication IE Tester.

    Mais avec IE Tester, tout fonctionne bien.

    Je sais que la gestion des événement fonctionne dans l'environnement de mon utilisateur car l'appel de fonction onchange d'un formulaire marche bien (pour une mise à jour d'un graphe en fonction d'une sélection de checkbox).

    Est-ce qu'il existe un paramétrage de sécurité qui pourrait empêcher l'expression d'un listener?

  4. #4
    Membre régulier Avatar de vrd-74
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 76
    Points : 102
    Points
    102
    Par défaut
    Citation Envoyé par Bovino Voir le message
    A la rigueur, IETester est plus fiable mais le rendu est plus sommaire, l'idéal reste d'avoir un vrai IE6 sur un Virtual PC (disponible sur le site Microsoft).
    Par simple curiosité, que veux tu dire par "plus sommaire" ? Je l'utilise quotidiennement et je le trouve très bien (mis à part IE7 qui a tendance à planter au bout de 10min d'inactivité).

Discussions similaires

  1. Hauteurs boites non respectées par IE6
    Par boutmos dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 05/02/2010, 12h30
  2. Ajout fonction sur évènement par paramètre
    Par vermine dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/02/2010, 13h24
  3. [GLib]: Gestion d'évènements par GMainLoop
    Par rvsgm09 dans le forum GTK+
    Réponses: 0
    Dernier message: 06/08/2009, 12h22
  4. Réponses: 6
    Dernier message: 02/01/2007, 12h16
  5. VC# -Déclencher un évènement par le programme
    Par epc dans le forum Windows Forms
    Réponses: 2
    Dernier message: 06/10/2006, 13h47

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