当 src
时,我无法触发 onLoad 处理程序<img>
的属性加载了 dataURI。 Here is the jsFiddle .
这似乎是浏览器兼容性问题。
- 处理程序在 Firefox 中按预期触发。
- 处理程序在 Chrome 中仅触发一次。
- 处理程序在 IE 中按预期触发。
我希望每次将 dataURI 加载到 <img>
时都会触发处理程序,即使正在加载的 dataURI 与之前的 dataURI 相同。
我怀疑这与 Google Chrome 中的缓存有关。使用“普通图像加载”,可以通过添加 ?refresh={timestamp}
来解决这个问题到 URL ( like here )。
有什么想法可以强制 Chrome 实际加载 dataURI,即使它已被缓存?
澄清:
Firefox 和 IE 中的行为满足我的要求。我希望 Chrome 也能表现出同样的行为...
最佳答案
对于 Chrome,您可以使用
<button onclick="$('#copy').attr('src', '');$('#copy').attr('src', $('#original').attr('src'));">copy image</button>
对于资源管理器
JSFiddle 给出 JQuery 错误。它根本不加载。尝试在常规 html 文件中测试代码。
关于javascript - <img> onload 处理程序无法针对 dataURI 触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21235582/