0

組み込みデバイスの WebKit ベースのブラウザーで次のような動作が見られます: キャンバスへの描画でエラーが発生した後 (エラーの性質についてはまだ正確にはわかりませんが、描画が遅すぎて描画できませんでした...)、キャンバス自体が古くなります。つまり、これ以上描画コマンドが画像に影響を与えることはありません (エラーは JavaScript コードでキャッチされます)。

今のところ、エラーを修正することはできません - エラーを描画した後の回復のように、キャンバスを更新するにはどうすればよいですか?

4

1 に答える 1

0

次のような方法で強制的に再初期化を試みることができます。

try {

//to catch the error you recevie
} catch(err) {

    var tempHeight = canvas.height;
    canvas.height = 0;
    canvas.height = tempHeight;
}

(設定(または幅)だけと言う人もcanvas.height = canvas.heightいますが、これはすべてのブラウザーで機能するとは限りません)。

もう 1 つの方法は、canvas 要素自体を切り離し、新しい要素を作成して、元の親にattachChild.

ただし、これらはハッキングであり、表示されるバグが次の更新で削除されることを願っています。

于 2013-07-01T15:40:15.340 に答える