【发布时间】:2011-12-28 20:25:37
【问题描述】:
当我在 Firefox 上使用画布时,有时会出现类似这样的错误:
错误:未捕获的异常:[Exception...“组件返回失败 代码:0x80004005(NS_ERROR_FAILURE) [nsIDOMCanvasRenderingContext2D.lineWidth]" nsresult: "0x80004005 (NS_ERROR_FAILURE)”位置:“JS框架:: media/js/canvas/Rectangle.js :: :: line 34" data: no]
当我在 for 循环中使用超过 5 个画布元素时会发生这种情况。创建它们的函数是这样的:
function addCanvas(id) {
var canvas = document.getElementById(id);
if (canvas == null) {
$('#content').append(
'<canvas id="' + id + '" width="' + workAreaWidth +'" height="'
+ workAreaHeight + '"></canvas>'
);
canvas = document.getElementById(id).getContext('2d');
} else {
canvas = canvas.getContext('2d');
canvas.setTransform(1, 0, 0, 1, 0, 0);
canvas.clearRect(0, 0, workAreaWidth, workAreaHeight);
}
return canvas;
}
for 循环在另一个函数中。
发生的情况是并非所有画布元素都已更新。我猜是异常的原因。
我无法发布它完全失败的地方的代码,因为它在许多地方随机失败,总是出现相同的错误。
Firefox 版本是 9.0,但也发生在 8.0.1。我没有在以前的版本中测试它。我的操作系统是 Mac Snow Leopard。我想这会有所帮助。它不会在 Chrome 或 Safari 上失败,
感谢您的帮助。
【问题讨论】:
-
什么是'for bucle'? (你的意思是“for循环”吗?)
-
是的,对不起...我不是英语。我会编辑帖子以更正它。
标签: javascript jquery firefox canvas