由于没有一个目前尚未发现这是怎么任何规格 应该 的行为,我们将不得不与它是如何满足 不 循规蹈矩。以下是我的测试结果。
| is image data usable right | does onload callback set after src | after setting src? | is changed still get invoked?
------------+-----------------------------+-------------------------------------
Safari 5 | yes | yes
------------+-----------------------------+-------------------------------------
Chrome 8 | no (1st page load), but | yes
FireFox 3.6 | yes thereafter (cached) |
------------+-----------------------------+-------------------------------------
IE8 | yes (32kB data limit) | yes
------------+-----------------------------+-------------------------------------
IE9b | yes | no
------------+-----------------------------+-------------------------------------
综上所述:
- 您不能假设在设置data-uri后立即可以使用图像数据;您必须等待
onload
事件。 - 由于IE9,您无法
onload
在设置src
并希望调用它后设置处理程序。 - “安全使用”中 的建议(来自上述问题)是确保正确行为的唯一方法。
如果有人可以找到讨论此问题的规范,我会很乐意接受他们的回答。



