本人新手, 最近在学习javascript
时对图片的预加载问题不是特别理解, 如下:
看了网上的一些博客, 基本上思路是这样的:
var img = new Image() img.src = "url"img.onload = function() { callback() }
先是设置src
来实现预载, 然后用onload
方法回调预加载完成事件.
但是到底是怎样的一个原理我不太理解, 个人暂时的理解是这样的:
将图片加载到img
对象里面, 这个对象包含了路径
使用onload
判断是否加载完成
但是我的疑惑在于:
为什么要使用onload
事件, 这个事件里面的回调函数通常是干什么的
浏览器怎么知道图片加载完成了
网上说是将图片缓存在浏览器, 但是根据这个代码我看不出哪里是缓存在了本地, 怎么理解
我自己尝试了一下, 如果没有onload
事件, 似乎图片也可以加载, 代码是这样的:
var img = new Image() img.src = 'https://www.gstatic.com/webp/gallery3/2.png'// img.onload = function() { // document.body.appendChild(img)// }document.body.appendChild(img)
所以使用onload
的意义是在哪里?
问题可能比较蠢, 希望能有前辈给出一个比较详细的解答, 谢谢了
白衣染霜花
青春有我
相关分类