2012-11-22 78 views
1

我们使用flot开发了一个复杂的报告应用程序,但是我没有预见到的事情是我们将会遇到输出问题,尽管一切看起来都很酷并且很酷,但Business用户无法复制图表在他们的演讲中,因为输出是一个画布元素。在Ie 7上导出画布图像

我找过几种方法,我甚至找到了将画布转换为图像的方法,但这只适用于HTML5支持的浏览器,不幸的是我们的用户使用IE7我知道这是非常古老的,但我没有什么可以做的(相信我,我们尝试过),所以我必须想出一个解决方案,将图形导出为图像格式。

我最后一次尝试是使用fxcanvas和flashcanvas来模拟toDataURL方法,但结果是有一个32kb的缓冲区,其中我的图像至少有300kb。

业务用户(高层管理人员)正在推动的解决方案,他们显然不知道有技术的界限在这里,我愿意不涉及任何解决方案如下:

  • 升级/更改浏览
  • 安装插件如chrome选项卡等。
  • 服务器或用户计算机

但是我接受任何Active X解决方案或任何导出选项,不需要安装第三方程序(除了他们不”有MS库上安装cab文件执行注册库等任何附加步骤)。

回答

0

如果您希望用户获得相同的结果(或者至少尽可能接近),为什么不尝试依赖后端?(假设有一个)只需在后端生成映像并输出标准的JPG或PNG。

我真的不能想到另一种解决方案,即使SVG仅在IE7 +上兼容,最接近的解决方案不使用后端将使用闪存,因为它是第三方,但它是相当知名的,它内置在现代浏览器。

依赖于客户端总是涉及:要求他们升级浏览器/使用第三方插件,所以请注意,在未来的项目规划中,兼容性问题是我认为最令人讨厌的问题之一Web开发

+0

只要可以将它们放在服务器上而不需要安装,我就可以使用flash或silverlight解决方案,不幸的是,后端不支持我们所需的图形选项。 – isJustMe

+0

难道你不能使用一些PHP或ASP来生成graphin?以图片magick库为例。 – aleation