缓存图片

缓存图片

     为了提高具有大量图片的页面的加载速度,提升用户体验,最好先将图片下载到本地,让浏览器缓存起来。常用的方法是JS的Image对象:

复制代码
 1 <script>
 2     function loadImage(url,callback) {
 3         var img=new Image();//创建一个Image对象,实现图片预下载
 4         img.src=url;
 5         if (img.complete) {//如果图片已经存在于浏览器缓存,直接调用回调函数
 6             callback.call(img);
 7             return;//直接返回,不用再处理onload事件
 8         }
 9         img.onload=function() {//图片下载完成时异步调用callback函数
10             callback.call(img);//将回调函数的this对象替换为Image对象
11         }
12     }
13 </script>    
复制代码

     当图片加载过一次后如果再有对该图片的请求时,浏览器已经缓存过这张照片了,不会再发起一次请求,直接从缓存中载入图片。

原文地址:https://www.cnblogs.com/chengqiaoli/p/5356132.html