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

jQuery Discussion :

Cohabitation jQuery et HighChart, IE aux abonnés absents


Sujet :

jQuery

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 39
    Points : 52
    Points
    52
    Par défaut Cohabitation jQuery et HighChart, IE aux abonnés absents
    Bonjour,

    Contexte :
    Je travail actuellement au développement d'un module destiné a l'affichage de donnée numériques (mesures médicales). Pour assurer l'affichage, j'utilise le plugin HighStock.
    HighStock produit un code SVG (VML pour IE 6 à 8).
    Pour une meilleur ergonomie je voudrais mettre en place un Slide ou un carrousel qui permettrait de naviguer aisément entre plusieurs type de graphique (pression sanguine, rythme cardiaque, taux de glucose par exemple)
    J'ai essayer plusieurs modules, mais aucun ne fonctionnais avec IE version 6 à 8. J'ai donc entrepris de développer quelque chose de plus simple dans un 1er temps.

    Problème :
    Contrairement a Firefox ou chromium, sous IE mon code ne marche pas.
    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
    $.ajax({
    		url: glob_param['url']+'php/querysoap.php'
    		, data: {what: 'list_measure'}
    		, dataType: 'xml'
    		, async: true
    		, success: function (answer, status, xhr) {
     
    			var rootName // [Simplification pour le forum] Contien le nom du noeud racine de mon XML
    			var childName // [Simplification pour le forum] Contien le nom du noeud de 1er niveau de mon XML
     
    			$(answer).find(childName).each(function(){
    				loadDisplaysFromXML(
    										'php/querysoap.php'
    										, {
    											what: 'xml_list'
    											, measure: $(this).text()
    										}
    										, glob_param['show_div']
    										, false
    									); // Cette fonction se charge d'appeler highchart et d'afficher les graphiques
    			});
    		}
    		, complete: function () {
    			alert('complete build');
    			/*
    				Ici le code d'affichage du slide, j'ai absolument besoin que les graph soit chargé et affiché
    			*/
    		}
    	});
    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
    33
    34
    35
    //*
    function loadDisplaysFromXML (_adresse, _param, _block, _width_px) {
    	var svg;
    	$.ajax({
    		url: glob_param['url'] + _adresse
    		, data: _param
    		, dataType: 'xml'
    		, async: false
    		, success: function(answer, status, xhr){
    			// declaration des variables locales
    			var rootName // [Simplification pour le forum] Contien le nom du noeud racine de mon XML
    			var childName // [Simplification pour le forum] Contien le nom du noeud de 1er niveau de mon XML
     
    			var i;														// Variables d'increment
    			var data = [], subArray = [];								// Stockage de données complet
    			var names = [];												// Stockage de nom de mesure
    			var garphUnaryData = [], graphTotalData = [];				// Données preparer pour l'affichage
     
     
    			// [...] Formalisation des données pour highstock [...]
     
    			// On crée un div pour chaque graphique
    			blk = _block.substring(1, _block.length) + glob_count;
    			glob_count++;
    			$(_block).append('<div id="'+blk+'" class="graph" style="width: 500px;"></div>');
    			((glob_svg === undefined) ? glob_svg = [blk] : glob_svg.push(blk));
    			//blk = _block.substring(1, _block.length);
    			drawChart(													// Et on envoi a highchart pour la génération visuel.
    					graphTotalData										// Set de données
    					, blk												// Bloque ou l'on affiche le graphe
    					, _width_px);										// Largeur du graphe
    		} // End Of UnNamed Function
    	}); // End Of Ajax Block
    	return svg;
    }//*/
    Dans le cas d'IE alert('complete build'); se fait bien avant l'affichage des graphiques et du coup la manipulation DOM effectuée par le slide échoue lamentablement.

    Étant néophyte dans la pratique du javascript et de jQuery, je ne sais dire si l'erreur viens de mon utilisation des librairie ou si il y a des comportement plus fin qui mérite une attention toute particulière.

    Pour ceux qui voudrais une version complète du script :
    web_service.js
    index.php

    Merci d'avance pour votre temps et votre aide

  2. #2
    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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    regarde du coté de noConflict()
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 39
    Points : 52
    Points
    52
    Par défaut
    Salut,

    je viens d'essayer avec noConflict() mais rien de mieux.
    La librairie HighChart utilise jQuery pour ses effet, mais après différents test, j'ai l'impression que IE bufferise les sortie graphiques et DOM (ce qui cause un décalage dans l'ordre d’exécution et explique que attr renvoi undefined quand j’essaye de manipuler le DOM)

    C'est possible ?

Discussions similaires

  1. Cohabitation Jquery ui 1.7.3 et ui 1.8.2
    Par MeHo_ dans le forum jQuery
    Réponses: 3
    Dernier message: 21/06/2010, 01h16
  2. comment faire cohabiter jquery avec FormCheck de Mootools ?
    Par clavier12AZQSWX dans le forum jQuery
    Réponses: 5
    Dernier message: 11/05/2010, 14h26
  3. Bean property aux abonnés absents
    Par eldran64 dans le forum Hibernate
    Réponses: 1
    Dernier message: 20/04/2010, 06h17
  4. Réponses: 4
    Dernier message: 02/06/2008, 11h51
  5. Afficher des zones qu'aux abonnés
    Par toutoune60 dans le forum JSF
    Réponses: 4
    Dernier message: 24/09/2006, 00h06

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