jQuery.load()メソッドを使用して外部HTMLをdivにロードしようとしています。このメソッドをdocument.ready()から呼び出します。
html.1
<script type='text/javascript' src='js/jquery-1.7.1.min.js'></script>
<script type='text/javascript' src='js/script1.js'></script>
...
script1.js
$(document).ready(function() {
$('div.dropzone').load('drawings.html');
});
ファイルはロードされますが、F5(更新)を押すまで表示されず、場合によってはCtrl F5を押すこともあります(3-5)。F5を押さないと、ページは表示されませんが、F5を押すと、ページは常に表示されます。
divにロードされるHTMLは、window.onloadで多くのキャンバス描画を行います。
drawing.html
<script>
var init = function() {
var container = document.getElementById('MyCanvas');
var canvas = document.createElement('canvas');
canvas.width = container.clientWidth;
canvas.height = 1000;
container.appendChild(canvas);
return canvas;
}
window.onload = function()
{
var canvas = init();
var context = canvas.getContext('2d');
context.beginPath();
//... lots of drawings here
context.closePath();
};
</script>
...
<div id='MyCanvas'>
</div>
このキャンバスを削除して静的HTMLを配置すると、問題なく表示されます。
誰かがここで何が起こっているのかを明らかにすることができますか?