我在一个应用程序中做了一些画布绘图,它在每个浏览器中都很好用(除了明显的ie7 / 8),但我也必须让它在iPad上运行。当我在iPad上查看我的调试控制台时,我看到了这个错误:
INDEX_SIZE_ERR:DOM例外1:索引或大小为负数,或大于允许值
我在这里看了一些关于错误的其他线程,但是它们似乎都没有应用(特别是因为我也没有在桌面版本上看到这个错误)。
错误发生在这部分代码中:
base.draw = function(x, y) {
// ctx.clearRect(0, 0, canvas[0].width, canvas[0].height);
console.log("base.draw()");
console.log(x);
console.log(y);
console.log(canvasWidth);
console.log(canvasHeight);
console.log($(largeImage).width());
console.log($(largeImage).height());
ctx.drawImage(largeImage, x, y, canvasWidth, canvasHeight, 0, 0, canvasWidth, canvasHeight);
}
对于日志,我得到所有正数和宽度/高度都是正确的。 largeImage是指作为HTML标记的一部分的图像,所以我不认为在尝试绘制图像之前图像没有被加载(如上所述,宽度/高度日志正确如此我假设这不是问题)。
任何人都知道为什么会在iPad上发生这种情况而不是在桌面上发生这种情况?