错误后重置画布

时间:2013-07-01 15:25:05

标签: html5 canvas error-handling

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

现在我无法修复错误 - 如何刷新画布,如在绘制错误后恢复?

1 个答案:

答案 0 :(得分: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将其附加到原始父元素。

但是,这些都是黑客攻击,希望您看到的错误将在下次更新时删除。