Frage

Ich verwende offene Flash -Diagramme 2, um Diagramme und Diagramme auf meiner Website zu präsentieren. Ich versuche, die JSON -Daten für ein Diagramm von derselben Seite zu laden. Es gibt verschiedene Möglichkeiten, dies zu tun.

  • Verwenden Sie die Get-Data-Eigenschaft des Diagramms und geben Sie eine JavaScript-Methode weiter, die den JSON zurückgibt
  • Verwenden Sie die Open_flash_chart_data -Methode, von der das Flash -Diagramm von Daten gelesen wird

Alle scheinen auf Firefox, Chrom usw. gut zu funktionieren. Der einzige Browser, der ein Problem hat, ist IE (ich benutze IE 8)

Als ich ein wenig in die Open Source betrachte, stellte ich fest, dass die Bibliothek exetrnalInterface verwendet, um die JavaScript -Methode auszuführen, und dass das externeInterface möglicherweise verfügbar zu sein scheint, null für jede Ausführung einer Methode in IE zurückgegeben wird.

Es scheint, als wäre dieses Problem bereits für die Flash Developers Community bekannt, also habe ich einige Dinge ausprobiert (obwohl es einige Lösungen gibt, die ich in der Bibliothek nicht verwenden konnte - zum Beispiel eindeutige ID für das Einbettelement. Die Bibliothek generiert sie)

Zusammenfassend fehlt mir wahrscheinlich eine einfache Lösung für mein Problem.

Mein Code:

Dies ist der JQuery -Anruf in das Open Flash -Diagramm von JavaScript:

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

Und dies ist die JavaScript -Methode, die die JSON -Quelle des Diagramms zurückgibt:

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

Ich werde jede Hilfe dazu schätzen.

Vielen Dank

War es hilfreich?

Lösung

Versuchen Sie, swfObject.js zu aktualisieren: Für mich hatte Version 2.2 meine Probleme gelöst.

Andere Tipps

Ich hatte dieses Problem und fand eine Lösung.

Entfernen Sie die Teile des Flash -Codes in der PHP ie_ Ändern Sie auch den SWFObject JavaScript -Code darauf:

function findSWF(movieName) {
  if (navigator.appName.indexOf("Microsoft")!= -1) {
    return window[movieName];
  } else {
    return document[movieName];
  }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top