私はアプリケーションでいくつかのキャンバス描画を行っており、それはすべてのブラウザーでうまく機能します(明らかな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で起こっているのに、デスクトップでは起こっていないのかについて、誰かが何か考えを持っていますか?