Flot和Internet Explorer 9?

5

我正要为我的ASP.NET应用程序选择一个图表库。

我一直关注flot,这也是stackoverflow使用的库。当我去flot的示例页面:http://people.iola.dk/olau/flot/examples/时,它们看起来很棒。但在IE9中不行。在IE9中什么也看不到。如果我将IE9切换到IE8或IE7模式,它就可以工作了。如果我在这里访问SO的用户页面:https://stackoverflow.com/users/22656/jon-skeet?tab=reputation,它在IE9中也可以工作。我错过了什么?有没有一个秘密的SupportIE9=true开关?

我考虑过protovis作为替代方案。http://vis.stanford.edu/protovis/ex/。在IE9中看起来很棒,但如果我将浏览器切换到IE7或IE8,它又变得令人沮丧了。

提示?如何使它们工作或一个跨IE版本的替代方案?Firefox没有问题。适用于所有库:)

4个回答

9
获取flot的最新版本(目前为0.8.3)。
自版本(0.6)以来,有一些变化涉及IE9,具体而言,IE6-8支持canvas的方式是通过名为excanvas的库。 IE9现在支持原生canvas,因此只有在用户没有IE9时才应包含excanvas。 flot子版本库中的具体更改如下:
http://code.google.com/p/flot/source/detail?r=293

一个需要进行更改的示例是这样的:
<!--[if IE]><script language="javascript" type="text/javascript" src="../excanvas.min.js"></script><![endif]-->

变成这样:

<!--[if lte IE 8]><script language="javascript" type="text/javascript" src="../excanvas.min.js"></script><![endif]-->

谢谢你的回答,@Ryley。因此,它将是flot :) - newtogit

3

这就是我今天所做的。至少对于我的其中一个图表而言。日期轴一直是个大问题。我想尝试其他的东西。 - newtogit
2
不确定为什么这个被踩了...原始问题明确说明提问者想知道如何使它们能够跨IE版本工作或其他可行的替代方案。 - jordancpaul
+1,我同意!(虽然我认为我的答案也很好 :p) - Ryley
我没有进行负面评价,我只是接受了Ryley的答案 :) - newtogit

0

flot在IE9中运行良好,但IE9无法处理某些JavaScript语法。

通过调试发现,与描述相同的问题揭示了数据数组定义的错误:

$.plot($("#fig2"), [
{...},
{...},
], options});

IE 把该数组视为具有 3 个成员,因此 flot 中的循环被打破了。移除奇数结尾的逗号,以清除数组语法!


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接