web新能优化五-图片的预加载
来源:互联网 发布:it是哪个国家 编辑:程序博客网 时间:2024/05/22 04:52
什么是预加载,以及预加载的优点是什么?
- 图片等静态资源在使用之前的提前请求
- 资源使用到时能从缓存中加载,提升用户体验
- 页面展示的依赖关系维护
首先预加载第一种实现方式可以是这样子滴
<!-- 预加载的第一种方式,使用img 的src加载,设置display none 缓存图片 --> <img src="http://pic26.nipic.com/20121213/6168183_004444903000_2.jpg" class="image-item" style="display: none" />
第二种实现方式是
// 第二种方式就是使用Image对象提前进行缓存图片,会从缓存中读取下载好的图片资源var image = new Image();image.src = 'http://pic26.nipic.com/20121213/6168183_004444903000_2.jpg';
第三种实现方式可以使用XMLHttpRequset来实现
// 第三种方式就是使用XMLHttpRequrest对象,代码执行顺序如下// 优点是可以掌握各个阶段的信息,便于业务的开发,但是缺点是存在跨域var xmlhttprequest = new XMLHttpRequest();xmlhttprequest.open("GET", "'http://image.baidu.com/mouse.jpg", true);xmlhttprequest.send();xmlhttprequest.onreadystatechange = callback;xmlhttprequest.onprogress = progressCallback;function callback() { if (xmlhttprequest.readyState == 4 && xmlhttprequest.status == 200) { var responseText = xml.responseText; } else { console.log("Request was unsuccessful: " + xmlhttprequest.status) }}function progressCallback(e) { e = e || event; if (e.lengthComputable) { console.log("Received " + e.loaded + " of " + e.total + " bytes"); }}
推荐使用第三方库来做前端预加载
preload.js来处理前端预加载资源的业务,提供的api也简单易用
// 使用preload.js库// false决定着使用html标签的方式去加载图片,不使用的话就走XMLHttpRequest方式去加载图片var queue = new createjs.LoadQueue(false);queue.on("complete", handleComplete, this);queue.loadManifest([ { id: "myImage", src: 'http://pic26.nipic.com/20121213/6168183_004444903000_2.jpg' }, { id: "myImage2", src: 'https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=1069058874,714751845&fm=27&gp=0.jpg' }])function handleComplete() { var image = queue.getResult("myImage"); document.body.appendChild(image);}
阅读全文
0 0
- web新能优化五-图片的预加载
- web新能优化四-图片的懒加载
- web资源优化之图片加载的时机
- web前端性能优化(二)--图片的延迟加载
- 优化图片的加载
- 图片预加载优化
- Picasso加载图片的优化
- Android 内存泄漏---新能优化专题(MAT的使用)
- ListView加载 图片时的优化处理
- 加载图片的一些琐碎优化记录
- ListView加载网络图片的优化
- 关于图片加载优化的小技巧
- 详解ListView加载网络图片的优化
- 图片的HTTP请求总结,web图片http请求汇总,网页图片预加载
- 如何在数据中能加载.JPG格式的图片
- 关于图片是否能延迟加载的问题
- Web 页面 实现图片的惰性加载
- 图片加载优化~
- Java开发快递物流项目(5)
- 欢迎使用CSDN-markdown编辑器
- 算法提高 最小方差生成树
- 团体程序设计天梯赛 L1-009. N个数求和
- fork()复制进程
- web新能优化五-图片的预加载
- SQL server 数据库备份恢复 遇挫记
- POJ2524 Ubiquitous Religions (并查集)
- 杭电OJ题目 1000
- Android之理解Activity的启动模式
- CodeForces
- RabbitMQ入门教程(十一):消息属性Properties
- 二级指针个人笔记
- AJAX用户登录后跳转