2011-05-12 57 views
0

我有一个html5元素的问题。我实现了一个画布,当我进入网站不运行,但当我刷新页面,运行正常。也只能用Firefox运行。为什么我必须刷新,为什么不在其他浏览器中?问题Html5 <canvas>

该网站是:http://www.dendrosite.com

谢谢!

回答

1

这是因为你正在绘制图像,并不一定等待它们加载。

刷新时,图像已经加载,所以问题消失。

Mozilla tutorial:

当脚本执行时, 图像开始加载。试图打电话 drawImage之前的图像有 完成加载将扔在gecko 1.9.2和更早的版本,并在Gecko 2.0和更高版本中默默无闻。所以 您必须使用onload事件处理程序:

var img = new Image(); // Create new img element 
img.onload = function(){ 
    // execute drawImage statements here 
}; 
img.src = 'myImage.png'; // Set source path