2010-09-20 8 views
0

J'utilise Open Flash Chart 2 pour visualiser les graphiques et graphiques de mon site. J'essaye de charger les données JSON pour un graphique de la même page. Il y a plusieurs façons de le faire.Voir le flash graphique sur IE 8

  • Utilisez la propriété get-données de la carte et de transmettre une méthode javascript qui retourne le JSON
  • Utilisez la méthode open_flash_chart_data que le diagramme flash sait lire les données de

Tous semblent fonctionner correctement sur FireFox, Chrome etc. Le seul navigateur qui a un problème est IE (J'utilise IE 8)

En regardant un peu dans l'open source j'ai trouvé que la bibliothèque utilise ExetrnalInterface pour exécuter la méthode javascript, et bien l'interface externe s Eems être disponible, il renvoie null pour toute exécution d'une méthode dans IE. Il semble que ce problème soit déjà connu pour la communauté des développeurs Flash, j'ai donc essayé quelques petites choses (bien qu'il y ait des solutions que je ne pouvais pas utiliser dans la bibliothèque - par exemple un identifiant unique pour l'élément embed. le génère)

En conclusion, il me manque probablement une solution simple pour mon problème.

Mon code:

C'est l'appel jquery au tableau flash ouvert de javascript:

$('#myDiv').flash 
(
    { 
     src: ofc_swf, 
     width: "400", 
     height: "250", 
     allowscriptaccess: "always", 
     wmode: "transparent",     
     flashvars: {"get-data": "getFlashJson"}      
    }, 
    { 
     version: 8 
    } 
); 

Et ceci est la méthode javascript qui renverra la source JSON du tableau:

function getFlashJson() 
{ 
    var val = $("#myJson").val(); 
    return val; 
} 

J'apprécie toute aide à ce sujet.

Merci

+0

la recherche sur le problème commun d'obtenir une réponse nulle de la ExetrnalInterface dans IE, la plupart des messages disent que la solution pour cela est d'ajouter un attribut classid unique sur la balise d'objet utilisé pour intégrer l'objet. Je ne sais pas vraiment comment utiliser cette information lorsque j'utilise un graphique flash ouvert. Aidez s'il vous plaît! – bizz

Répondre

0

Essayez de mettre à jour swfobject.js: pour moi, la version 2.2 avait résolu mes problèmes.

0

J'ai rencontré ce problème et trouvé une solution.

Retirez les parties du code flash dans le fichier php qui préface l'ID de film avec ie_ et changer aussi le code javascript swfobject à ceci:

function findSWF(movieName) { 
    if (navigator.appName.indexOf("Microsoft")!= -1) { 
    return window[movieName]; 
    } else { 
    return document[movieName]; 
    } 
}