我在使用dataURI加載<img>
的src
屬性時無法啓動onLoad處理程序。 Here is the jsFiddle。<img> onload handler無法觸發dataURI
這似乎是瀏覽器兼容性問題。
- 處理程序在Firefox中按預期啓動。
- 處理程序在Chrome中僅觸發一次。
- 處理程序在IE中按預期啓動。
我想每次將dataURI加載到<img>
時,即使正在加載的dataURI與先前的dataURI相同,也會觸發該處理程序。
我懷疑這與Google Chrome中的緩存有關。使用「普通圖片加載」時,可以通過在URL中添加?refresh={timestamp}
來解決此問題(like here)。
任何想法如何迫使Chrome實際加載dataURI,即使它被緩存?
澄清:
在Firefox & IE符合我的要求的行爲。我希望Chrome展示相同的行爲...
檢查我的答案,更新它 – Ergec
對不起,但爲什麼你需要在同一圖像上多次觸發加載事件?這可能會導致未來許多開發人員的混淆。 任何圖像修改都會改變結果base64。考慮改變你的邏輯或請解釋你的動機 – veritas
1.爲什麼你需要多次更新相同的uri相同的'
'? 2.爲什麼即使使用'.load'也需要監聽?這聽起來像是一個設計問題。 –
Fresheyeball