次のhtml5コードがあります:
<canvas id="myCanvas" width=600 height=600>
</canvas>
いくつかのJavaScriptが続きます:
<script type="text/javascript">
<!--
var img = new Image();
img.addEventListener('load', function()
{
reDraw('', this);
}, false);
img.src = "wood.png";
function reDraw(canv, image)
{
var canvas = canv;
if (canvas == '')
{
canvas = $("canvas");
}
var size = canvas.attr("width");
var elem = canvas.get(0);
if (!elem || !elem.getContext){
return;
}
var context = elem.getContext('2d');
if (!context || !context.drawImage)
{
return;
}
context.drawImage(image, 0, 0, size, size);
};
window.onresize = function() {
var size = window.innerWidth;
if (window.innerHeight < size)
{
size = window.innerHeight;
};
size = size/2;
$("canvas").each(function()
{
$(this).attr({width: size, height: size});
reDraw($(this), img);
});
};
// -->
</script>
問題は、Chrome ではこのコードがスムーズに動作することですが、FireFox (3.6.15) ではウィンドウのサイズを変更すると、動作に時間がかかります。何が問題になる可能性がありますか? また、FFでもスムーズに動作するように修正するにはどうすればよいですか?