一尘不染

image.onload事件和浏览器缓存

javascript

我想在加载图像后创建一个警报框,但是如果将图像保存在浏览器缓存中,.onload则不会触发该事件。

无论图像是否已缓存,如何在加载图像时触发警报?

var img = new Image();
img.src = "img.jpg";
img.onload = function () {
   alert("image is loaded");
}

阅读 384

收藏
2020-05-01

共1个答案

一尘不染

动态生成图像时,请在onload之前设置属性src

var img = new Image();
img.onload = function () {
   alert("image is loaded");
}
img.src = "img.jpg";

在最新的Firefox和Chrome版本上进行了测试。

您还可以使用答案在这个岗位,我适合一次性动态生成的图像:

var img = new Image();
// 'load' event
$(img).on('load', function() {
  alert("image is loaded");
});
img.src = "img.jpg";
2020-05-01