0

我在嵌入式设备上基于 WebKit 的浏览器中看到以下行为:在画布出现错误后(我还不确定错误的性质,但有时看起来好像由于绘图太慢而无法绘制...),画布本身变得陈旧。即不再有绘图命令会影响图像(错误在 JavaScript 代码中被捕获)。

到目前为止,我无法修复错误 - 我将如何导致画布刷新,如在绘制错误后恢复?

4

1 回答 1

0

您可以尝试使用以下方式强制重新初始化:

try {

//to catch the error you recevie
} catch(err) {

    var tempHeight = canvas.height;
    canvas.height = 0;
    canvas.height = tempHeight;
}

(有人会说只是设置canvas.height = canvas.height(或宽度),但这不适用于所有浏览器)。

另一种方法是分离 canvas 元素本身,创建一个新元素并使用attachChild.

但是,这些都是 hack,希望您看到的错误将在下一次更新中被删除。

于 2013-07-01T15:40:15.340 回答