内联HTML中的onload
事件在Firefox和所有基于其Mozilla代码库(Tor等)的浏览器中过早触发。例如:
<img onload="myFunction()" src="image.jpg" />
此图像在Chrome,Opera,IE和Safari上完全加载后调用myFunction()
(不确定新的Edge浏览器),这是预期的和记录的行为。
但是,在Firefox及其亲属上,该功能在浏览器读取<img>
标签后立即称为 ,即 之前图像的加载已完成 。这不是记录的行为并导致应用程序问题。
几年前,这已得到确认和详细讨论:
但是,我无法找到解决问题的任何方法,我想知道是否有其他人遇到过这个问题并找到了解决方案。答案 0 :(得分:0)
我想这可以解决做类似于此处所做的事情 image.onload event and browser cache
这可能是您正在寻找的解决方案
var img = new Image();
$(img).one('load', function() {
alert("image is loaded");
});
img.src = "http://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