浅析js预加载/延迟加载

 更新时间:2014年09月25日 11:36:16   投稿:hebedich  
本文主要介绍了js预加载和延时加载2种技术,简单分析了他们的实现方式和优缺点,非常的实用,有需要的朋友参考下

Pre loader 预加载一般有两种常用方式:xhr和动态插入节点的方式。动态插入节点是最为简单也最为广泛的一种异步加载方式,然后使用动态插入节点方法加载的文件都会 在加载后立即执行,javascript的执行一方面会占用浏览器js执行进程,另一方面也可能改变页面结构,而css 的执行更有可能让整个页面变化。xhr方式虽然不会执行脚本,但是由于同域的限制

Lazy loader方式在一些图片非常多的网站中非常有用,在浏览器可视区域外的图片不会被载入,直到用户将页面滚动到它们所在的位置才加载,这样对于含有很多 图片的比较长的网页来说,可以加载的更快,并且还能节省服务器带宽。jQuery插件中也有插件来实现该功能。

在腾讯的QQ空间和微博中就采用这样技术实现,在大访问量的网站,这样就相对可以减少服务器的压力,在用户访问到所见区域和下面内容时候才去请求。而不是传统的一次把整个页面下载过来,在下载过程中存在着用户等待内容呈现。

IE中使用new Image().src 去预加载文件。
其他浏览器使用动态插入document.createElement('object')标签来完成加载。

说明:
1. new Image().src 之所以不能在ff中使用是因为ff对图片实现了一套单独的缓存。 同时safari和chrome看起来也没有被缓存。
2. 动态插入object 标签需要插入到非head部分,以触发加载。
3. ie7 ie8 也可以通过一些代码使用动态object加载文件。

相关文章

  • 使用重写url机制实现验证码换一张功能

    使用重写url机制实现验证码换一张功能

    重写URL机制:为了保证一个url的地址唯一,可每次向服务器传递的参数不一样即可。此处在实现验证码的换一张的功能时,就是利用了改变参数列表的值进行刷新。具体详细代码大家参考下本文
    2017-08-08
  • 有趣的bootstrap走动进度条

    有趣的bootstrap走动进度条

    这篇文章主要为大家详细介绍了如何实现有趣的bootstrap走动进度条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • js+canvas实现两张图片合并成一张图片的方法

    js+canvas实现两张图片合并成一张图片的方法

    这篇文章主要介绍了js+canvas实现两张图片合并成一张图片的方法,结合实例形式分析了JavaScript结合HTML5 canvas实现图片合并的操作技巧,并附带了Java图片合并的实现方法,需要的朋友可以参考下
    2019-11-11
  • JavaSctit 利用FileReader和滤镜上传图片预览功能

    JavaSctit 利用FileReader和滤镜上传图片预览功能

    FileReader 对象允许Web应用程序异步读取存储在用户计算机上的文件内容,使用 File或 Blob对象指定要读取的文件或数据。下面通过本文给大家分享JavaSctit 利用FileReader和滤镜上传图片预览功能,需要的朋友参考下吧
    2017-09-09
  • 微信小程序删除处理详解

    微信小程序删除处理详解

    这篇文章主要为大家详细介绍了微信小程序删除处理的相关代码,用小程序里的模态框实现删除,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • javascript中处理时间戳为日期格式的方法

    javascript中处理时间戳为日期格式的方法

    本文为大家介绍下javascript中如何将时间戳处理为日期格式,下面有个不错的示例,感兴趣的朋友可以参考下
    2014-01-01
  • Json实现传值到后台代码实例

    Json实现传值到后台代码实例

    这篇文章主要介绍了Json实现传值到后台代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • 基于Three.js实现3D玉兔效果的示例代码

    基于Three.js实现3D玉兔效果的示例代码

    2022年中秋佳节即将来临,中秋节是我们国家的传统节日。而中秋与玉兔又往往会联系在一起,本文将用Threejs做一只会动的3D玉兔,感兴趣的可以了解一下
    2022-08-08
  • 微信小程序工具函数封装

    微信小程序工具函数封装

    这篇文章主要为大家详细介绍了微信小程序工具函数封装,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • uniapp如何实现tabBar之间传参

    uniapp如何实现tabBar之间传参

    这篇文章主要给大家介绍了关于uniapp如何实现tabBar之间传参的相关资料,文中通过代码示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-08-08

最新评论