Google Chrome でのみページがリロードされるまで、HTML5 キャンバスを描画できません。Firefox では正常に動作します。
ここにフィドルがあります:http://jsfiddle.net/c5mGL/
<canvas id="myCanvas" width="1202" height="602" style="border:1px solid #d3d3d3;"></canvas>
(function () {
'use strict';
window.onload = function () {
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
function reset() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.beginPath();
ctx.moveTo(100, 150);
ctx.lineTo(450, 50);
ctx.stroke();
}
reset();
};
})();
HTML Web ページは iframe に埋め込まれているため、フィドルでの表示中はすべて正常に動作します。しかし、生成された Web ページhttp://jsfiddle.net/c5mGL/5/show/を直接見ると、問題が発生します。
再現手順: Google Chrome を開き、新しいタブを開き、http://jsfiddle.net/c5mGL/5/show/に移動し、Enter キーを押しても何も表示されません (JavaScript コンソールにもエラーはありません)。タブを更新すると、キャンバスに線が表示されます。
小さいキャンバス (300 * 200) を使用するとうまく機能するため、HTML5 キャンバスのサイズが原因のようです。
誰かアイデア?
どうもありがとう。
編集: Google Chrome バージョン: バージョン 28.0.1500.72 m