img对象onload事件和complete属性关系
这篇文章算是对之前那篇canvas合成图片文章的补充,主要是阐述何时使用onload,何时又可以不使用onload。
onload
onload 事件会在页面或图像加载完成后立即发生。
onload 通常用于 元素,在页面完全载入后(包括图片、css文件等等)执行脚本代码。
支持onload的标签:
<body>
<frame>
<frameset>
<iframe>
<input type="image">
<link>
<script>
<style>
complete
complete 属性可返回浏览器是否已完成对图像的加载。
如果加载完成,则返回 true,否则返回 fasle。
let img = new Image();
img.src = "./test.png";
if (img.complete) {
// Do something
} else {
img.onload() {
// Do something
}
}
onload & complete 联系
页面首次登录会直接进入 onload
回调,但是页面刷新或者重新进入,图片已经缓存过后,不会进入 onload
回调,这个时候就需要用 complete
回调。
if (img.complete) {
// Do something
} else {
img.onload() {
// Do something
}
}
参考链接
感谢
[1] w3school HTML DOM complete 属性
[2] 菜鸟教程 onload 事件