ページの上に巨大なキャンバスの長方形を描画しようとしています (ある種のライトボックスの背景)。コードは非常に簡単です:
var el = document.createElement('canvas');
el.style.position = 'absolute';
el.style.top = 0;
el.style.left = 0;
el.style.zIndex = 1000;
el.width = window.innerWidth + window.scrollMaxX;
el.height = window.innerHeight + window.scrollMaxY;
...
document.body.appendChild(el);
// and later
var ctx = el.getContext("2d");
ctx.fillStyle = "rgba(0, 0, 0, 0.4)";
ctx.fillRect(0, 0, el.width, el.height);
そして時々 (常にではありません) 最後の行がスローします:
コンポーネントがエラー コードを返しました: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMCanvasRenderingContext2D.fillRect]
画像サイズが原因なのか、それともキャンバスの下にあるコンテンツ タイプ (埋め込みビデオの再生など) が原因なのかを推測していましたが、どうやらそうではないようです。
したがって、この問題を特定および/または解決する方法についてのアイデアを探しています。