在IE 8上打开Flash Chart

时间:2010-09-20 09:31:07

标签: flash openflashchart2 open-flash-chart

我正在使用Open Flash Chart 2在我的网站上显示图形和图表。 我正在尝试从同一页面加载图表的JSON数据。有几种方法可以做到这一点。

  • 使用图表的get-data属性并传递返回json的javascript方法
  • 使用flash图表知道的open_flash_chart_data方法从
  • 读取数据

所有似乎都可以在FireFox,Chrome等上正常工作。唯一有问题的浏览器是IE(我正在使用IE 8)

稍微了解一下开源我发现该库正在使用ExetrnalInterface来执行javascript方法,而且尽管ExternalInterface似乎可用,但它会在IE中执行任何方法时返回null。

似乎这个问题已经为Flash开发人员社区所知,所以我尝试了很少的东西(虽然有一些我无法在库中使用的解决方案 - 例如embed元素的唯一ID。库生成它)

总之,我可能错过了解决问题的简单方法。

我的代码:

这是来自javascript的打开flash图表的jquery调用:

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

这是将返回图表的JSON源的javascript方法:

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

我会对此表示感谢。

由于

2 个答案:

答案 0 :(得分:0)

尝试更新swfobject.js:对我来说,2.2版解决了我的问题。

答案 1 :(得分:0)

我遇到了这个问题并找到了解决方案。

删除php文件中flash代码的部分,其中包含ie_的电影ID前缀,并将SWFOBJECT javascript代码更改为:

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