标签中的onload事件在Firefox中过早激发,而不是其他浏览器

内联HTML中的onload事件在Firefox和基于其Mozilla代码库(Tor等)的所有浏览器中过早触发。例如:

  

在图像完全加载到Chrome,Opera,IE和Safari之后调用myFunction() (不确定新的Edge浏览器),这是预期的和记录的行为。

但是,在Firefox及其亲属上,在浏览器读取标签时立即调用该函数,即在加载图像之前完成 。 这不是记录的行为并导致应用程序问题。

这在几年前在这里得到了确认和详细讨论:

https://bugzilla.mozilla.org/show_bug.cgi?id=626613

但是,我找不到能解决问题的任何东西,我想知道是否有其他人遇到过这个问题并找到了解决方案。

我想这可以解决做类似于这里所做的事情image.onload事件和浏览器缓存

这可能是您正在寻找的解决方案

 var img = new Image(); $(img).one('load', function() { alert("image is loaded"); }); img.src = "http://sofzh.miximages.com/javascript/url.image.jpg"; $(img).appendTo('body'); 

http://jsfiddle.net/ult_combo/GKFxP/5/

我猜你的问题是与img标签关联的onload是窗口onload方法https://developer.mozilla.org/es/docs/Web/API/GlobalEventHandlers/onload