0

使用Flot显示一些图表。出乎意料的是,网站开始崩溃。
问题出在 jquery.flot.js 的这一行:

if (!c.getContext) // excanvas hack
    c = window.G_vmlCanvasManager.initElement(c);

例外:G_vmlCanvasManager is undefined.

与 Firefox 12 和真正的 Web 服务器一起工作。
与 Firefox 12 配合使用 Visual Studio 2010(本地服务器)。
将 IE 9 与真正的 Web 服务器一起使用时运行良好。
将 IE 9 与 Visual Studio 2010(本地服务器)一起使用时崩溃。
开发计算机上没有安装 IIS。

重新安装 VS 并清除其缓存没有帮助。
下载新版本的 Flot 并没有帮助。
禁用授权机制没有帮助。

欢迎任何建议。

4

2 回答 2

2

该错误表明浏览器不支持 HTML5 画布,并且您没有使用 Excanvas 插件来模拟它。

我的猜测是问题在于您的页面没有使用正确的 DOCTYPE:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

当 DOCTYPE 缺失或不正确时,IE9 以 quirks 模式呈现页面,该模式不支持 HTML5 画布。然后,您要么不包括 excanvas.js,要么将其包装在一个[if lte IE 8]不会触发的条件中,因为浏览器IE9。

您的真实 Web 服务器可能会自动添加 DOCTYPE,而 Visual Studio 不会。如果是这种情况,那么您需要自己添加它,或者让 VS 服务器输出一个。

于 2012-05-16T17:04:44.137 回答
0

你一开始有这个功能吗?: $(document).ready(function() {

于 2012-05-16T16:45:46.223 回答