javascript - <img> onload 处理程序无法针对 dataURI 触发

标签 javascript jquery data-uri

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>

http://jsfiddle.net/AnsME/16/

对于资源管理器

JSFiddle 给出 JQuery 错误。它根本不加载。尝试在常规 html 文件中测试代码。

关于javascript - <img> onload 处理程序无法针对 dataURI 触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21235582/

相关文章:

javascript - 数据表空表错误

javascript - 如何添加从下拉列表中删除某些 json 数组

javascript - Mailchimp 通过 jQuery Ajax。提交正确,但 JSON 响应作为单独的页面返回

PHP - 从数据 URI 调整图像大小并压缩图像

xml - 在 Rss 或 Atom-feeds 中使用 data-uri 嵌入图像

javascript - json - 查看键是否存在于嵌套数组中

javascript - WordPress,表单缓存和显示隐藏div

javascript - 如何处理 Firebase Cloud Functions 中的错误 JSON?

javascript - 了解如何使用回调

javascript - 将 ImageData 对象(不是 Canvas )转换为图像数据 URL