【问题标题】:How can I get image from Open Flash Chart 2?如何从 Open Flash Chart 2 中获取图像?
【发布时间】:2009-07-13 12:24:12
【问题描述】:

我已经尝试过这个tutorial,但这根本不起作用。我的服务器端工作正常,但是当我尝试获取 ofc 实例并调用 post_image 时,Firefox 出现以下错误“ofc.post_image 不是函数”。这个问题有解决办法吗?

【问题讨论】:

  • 很难帮助你,因为你没有展示你做了什么。发布您的一些代码。

标签: javascript charts


【解决方案1】:

我遇到了同样的问题,我解决了它只是更新了 Kvasir 版本一的 open-flash-chart.swf(以前我使用的是 Jörmungandr 版本)。旧版本似乎已损坏,并且不允许访问 AS 外部功能。我还需要清除浏览器 (firefox) 上的缓存数据和 cookie 以获取新的 swf。我在获取 flash 图表 2 图像时遇到了一个新问题,数据已上传到我的服务器,并且 png 保存在文件系统上,但从未触发 post_image 的回调函数,我的代码类似于 ofc2 站点示例:

function done(id){
alert("Finished upload. Id:"+id);}

function post_chart_image(chart_png_name){
url =  context + '/swtMktShare/uploadChartImage.html?chartImgFileName='+chart_png_name;
var ofc = findSWF("my_chart1");
x = ofc.post_image( url, 'done', false);}

在服务器端,我使用 Spring MVC,作为响应,我得到了 png 生成文件的完整路径

【讨论】:

    【解决方案2】:

    我在尝试教程时遇到了同样的问题。行内:

    x = ofc.post_image( url, 'done', debug );
    

    我在浏览器上收到此错误:Object doesn't support this property or method

    我在以下几行中发现了问题:

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

    在我的情况下,在 if 检查中它返回 return window[movieName],因为我的浏览器是 IE8。

    我刚刚删除了 if 检查并使用了return document[movieName]

    function findSWF(movieName) {
        return document[movieName]; 
    }
    

    这解决了我的问题,我现在可以将图表保存为图像。

    【讨论】:

      猜你喜欢
      • 2011-04-09
      • 2011-02-10
      • 2011-02-16
      • 2012-09-30
      • 2023-04-01
      • 1970-01-01
      • 2013-03-16
      • 1970-01-01
      • 2011-09-28
      相关资源
      最近更新 更多