2

不幸的是,我的组织被 IE6 困住了一段时间(是的,我知道......)。

我喜欢 jqPlot,但发现 IE6 对它的感觉不一样。因此,厌倦了尝试解决 IE6 的许多故障和内存泄漏问题,我想通过在服务器上生成图表的图像(可能是 PNG)来规避这个问题。就我的目的而言,客户端图表的交互性不如在服务器上生成图表图像缓存并减少对 IE6 的压力它还可以巧妙地解决 jqPlot 输出无法正确打印的问题来自 IE6(我猜这可能是一个画布问题)。

但问题是,我发现的任何服务器端解决方案都无法与 jqPlot 的视觉/美学吸引力相匹配。在服务器端,我对 Perl 最满意,CPAN 上可用的东西从功能性但丑陋的(例如 Chart::Gnuplot)到美丽但无法获得的(例如 Chart::Clicker,它有无数的先决条件并且没有即使经过一周的尝试,也不想在 Windows/ActiveState Perl 上为我安装)。

谷歌告诉我,有些人可能尝试过使用 node.js 从服务器上的 jqPlot 生成 PNG,但我找不到任何证据表明有人成功了。我以前没有使用过 node.js,所以想稍微保证一下,在我尝试 node.js/jsdom 学习曲线之前我没有尝试不可能的事情......

您可以提供的任何建议将不胜感激(除了“升级浏览器” - 这最终会发生,但不会在可预见的情况下发生)。

4

2 回答 2

2

有一种方法可以使用 Node.js 库来做到这一点。请参考这篇博客:http ://blog.davidpadbury.com/2010/10/03/using-nodejs-to-render-js-charts-on-server/

于 2013-04-01T21:05:13.153 回答
0

可能的解决方法是webkit2png,它是一个基于 webkit 的无头浏览器,它将页面的屏幕截图(或可能只是您的情况的一部分)保存为图像文件。不漂亮,但可能是最简单的解决方案。

于 2012-03-09T10:07:23.510 回答