在 IE 8 上打开 Flash 图表
我正在使用 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 开发人员社区已经知道这个问题,所以我尝试了一些方法(尽管有一些解决方案我无法在库中使用 - 例如嵌入元素的唯一 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;
}
如果有任何帮助,我将不胜感激。
谢谢
I'm using Open Flash Chart 2 to present graphs and charts in my website.
I'm trying to load the JSON data for a chart from the same page. There are several ways to do that.
- Use get-data property of the chart and pass a javascript method that returns the json
- Use the open_flash_chart_data method which the flash chart knows to read data from
All seem to work fine on FireFox, Chrome etc. The only browser that has a problem is IE (I'm using IE 8)
Looking a little into the open source I found that the library is using ExetrnalInterface to execute the javascript method, and altough the ExternalInterface seems to be available, it returns null for any execution of a method in IE.
It seems like this issue is already known for the Flash developers community, so I did tried few things (though there are some solutions that I could not use in the library - for example unique id for the embed element. The library generates it)
In conclusion, I'm probably missing a simple solution for my problem.
My code:
This is the jquery call to the open flash chart from javascript:
$('#myDiv').flash
(
{
src: ofc_swf,
width: "400",
height: "250",
allowscriptaccess: "always",
wmode: "transparent",
flashvars: {"get-data": "getFlashJson"}
},
{
version: 8
}
);
And this is the javascript method that will return the JSON source of the chart:
function getFlashJson()
{
var val = $("#myJson").val();
return val;
}
I'll appreciate any help on this.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试更新 swfobject.js:对我来说,2.2 版本已经解决了我的问题。
Try to update swfobject.js: for me, version 2.2 had resolved my problems.
我遇到了这个问题并找到了解决方案。
删除 php 文件中电影 ID 前面带有
ie_
的 Flash 代码部分,并将 SWFOBJECT javascript 代码更改为:I had this problem and found a solution.
Remove the parts of the flash code in the php file which preface the movie ID with
ie_
and also change the SWFOBJECT javascript code to this: