如果加载相同的图像,javascript,image onload()在webkit中不会触发

bog*_*dan 14 javascript webkit image onload

我有一个<img>元素,我正在改变它的src属性.该元素onload附加了一个处理函数.每次我更改src属性和图像加载时,应该运行处理函数.

在Chrome和Safari中,如果我分配与之前相同的src,则不会运行处理函数.之前像以前我试过分配相同的SRC imgElement.src='',imgElement.src= null,imgElement.src='notExistingFile.jpg'并且它都没有工作.

请帮忙.以前有人有这个问题吗?

编辑:它通过执行imgElement.src =''工作,然后分配与以前相同的src:

imgElement.src = '';
imgElement.src = 'image.jpg';
Run Code Online (Sandbox Code Playgroud)

Mat*_*all 17

这是一个已知的错误.以下是该链接的解决方法:

这不是一个错误.WebKit更严格.您必须Image()在替换之前实例化一个新 对象,如下所示:

var photo = document.getElementById('image_id');
var img = new Image();
img.addEventListener('load', myFunction, false);
img.src = 'http://newimgsource.jpg';
photo.src = img.src;
Run Code Online (Sandbox Code Playgroud)