当页面上使用多个画布时,是否有人遇到过 Google Chrome 无法呈现画布标签的问题?
我一直在发生这种情况。它出现在我的某些页面中,但没有出现在其他页面中;我很难隔离关键元素。当问题确实发生时,行为是一致的:一组特定的画布标签(有时是页面上的所有画布)不会呈现——它们显示为空白。它在 Chrome / Mac 中可靠地发生,但在 Firefox / Mac 中不会发生。有趣的是,如果我右键单击其中一个空白画布并选择“检查元素”,那么突然所有画布都出现了。所以它看起来真的像一个 Chrome 错误,而不是我的代码中的一些错误。
通过单击此 jsfiddle 文件中的“运行”可以观察到该问题:
此页面包含两个画布标签和一个在其中一个中绘制矩形的脚本块。在 Chrome 中,矩形不会出现。如果取消注释最后一行并重新运行,则会出现矩形。最后一行只是在另一个画布上调用 getContext()。
我还有其他更复杂的示例,即使为每个画布调用 getContext(),某些画布也不会呈现。所以问题并不像“每个画布必须至少调用一次getContext”那么简单。