标签中的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