繁体   English   中英

如何确保定义img.onload函数的脚本在img之前加载?

[英]How can I ensure that the script defining an img.onload function loads before the img?

假设我的HTML按照显示的顺序包含这两个标记:

<script src="script.js"></script>
<img src="http://otherdomain.com/image.png" onload="imgLoad(this)"/>

script.js定义了函数imgLoad 我了解到,浏览器解析HTML时,它将首先看到脚本,因此首先请求它,但是如果这花了很长时间并且图像在脚本之前完成加载,则会收到一个错误,指出imgLoad是未定义的。

还是实际上不可能? 规范是否要求onload事件和javascript的运行按照声明元素的顺序同步发生? 如果是这样,现代浏览器是否可以正确实现?

这是一篇很棒的文章

TL; DR

由于脚本加载是同步的,因此无法在脚本之前加载映像。 这是为浏览器创建加载功能的最简单方法,因此,它是所有现代浏览器的默认功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM