1

我遇到了一个问题,即 Flot 库在 Firefox 中无法显示大图。

这是我的样本。

http://jsfiddle.net/SunMoonStar/9x7aJ/1334/

当我将高度设置为 50000 时,我会收到这样的错误

NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMCanvasRenderingContext2D.save]

我希望任何人都可以帮助我。

提前致谢。

更新:

IE9 标记是因为当我将高度设置为 50000 时,它只能显示 IE9 中图形的一半。

我认为这可能与 FireFox 的原因相同。

4

1 回答 1

1

是的; 这是大多数/所有浏览器的常见问题,而不仅仅是 Firefox。这不是 Flot 的问题,而是浏览器画布实现的限制。

画布被设计为在单个屏幕内工作,即最多几千乘几千像素。这是出于多种原因;例如,推动 25 亿像素(50k x 50k)的性能将非常糟糕,几乎毫无用处。所以我严重怀疑浏览器开发人员是否设计或测试了如此大的画布尺寸。

您需要重新考虑页面的架构,考虑到我上面提到的性能问题,这可能无论如何都行不通。我假设,在如此大的尺寸下,你正在做某种滚动。与其创建一个巨大的画布并在父 div 中滚动它,不如使用 Flot 导航插件在更小的画布中滚动图表数据。

于 2012-10-31T12:12:44.747 回答