HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)


Posted in HTML / CSS onMay 07, 2014

我曾经介绍过本站上使用的一些速度优化技术。而在HTML5里,出现了一个新的用来优化网站速度的新功能:页面资源预加载/预读取(Link prefetch)。

页面资源预加载/预读取(Link prefetch)是什么?来自MDN的解释:

页面资源预加载(Link prefetch)是浏览器提供的一个技巧,目的是让浏览器在空闲时间下载或预读取一些文档资源,用户在将来将会访问这些资源。一个Web页面可以对浏览器设置一系列的预加载指示,当浏览器加载完当前页面后,它会在后台静悄悄的加载指定的文档,并把它们存储在缓存里。当用户访问到这些预加载的文档后,浏览器能快速的从缓存里提取给用户。

简单说来就是:让浏览器预先加载用户访问当前页后极有可能访问的其他资源(页面,图片,视频等)。而且方法超级的简单!

HTML5页面资源预加载(Link prefetch)写法

复制代码
代码如下:

<!-- 预加载整个页面 -->
<link rel="prefetch" href="https://3water.com/misc/3d-album/" /></p> <p><!-- 预加载一个图片 -->
<link rel="prefetch" href=" <a href="https://3water.com/wordpress/">https://3water.com/wordpress/</a>
wp-content/uploads/2014/04/b-334x193.jpg " />

HTML5页面资源预加载/预读取(Link prefetch)功能是通过Link标记实现的,将rel属性指定为“prefetch”,在href属性里指定要加载资源的地址。火狐浏览器里还提供了一种额外的属性支持:
复制代码
代码如下:

<link rel="prefetch alternate stylesheet"
title="Designed for Mozilla" href="mozspecific.css" _fcksavedurl=""mozspecific.css"" />
<link rel="next" href="2.html" />

HTTPS协议资源下也可以使用prefetch。

什么情况下应该预加载页面资源

在你的页面里加载什么样的资源,什么时候加载,这完全取决于你。下面是一些建议:

1.当页面有幻灯片类似的服务时,预加载/预读取接下来的1-3页和之前的1-3页。
2.预加载那些整个网站通用的图片。
3.预加载网站上搜索结果的下一页。

禁止页面资源预加载(Link prefetch)

火狐浏览器里有一个选项可以禁止任何的页面资源预加载(Link prefetch)功能,你可以这样设置:

1.user_pref("network.prefetch-next", false);
2.页面资源预加载(Link prefetch)注意事项

下面是一些关于页面资源预加载(Link prefetch)的注意事项:

1.预加载(Link prefetch)不能跨域工作,包括跨域拉取cookies。
2.预加载(Link prefetch)会污染你的网站访问量统计,因为有些预加载到浏览器的页面用户可能并未真正访问。
3.火狐浏览器从2003年开始就已经提供了对这项预加载(Link prefetch)技术的支持。

利用浏览器空闲时间加载一些额外的资源文件,看起来是既刺激又危险,你想试试这些技术吗?

HTML / CSS 相关文章推荐
CSS3教程:边框属性border的极致应用
Apr 02 HTML / CSS
目前不被任何主流浏览器支持的CSS3属性汇总
Jul 21 HTML / CSS
纯css3实现效果超级炫的checkbox复选框和radio单选框
Sep 01 HTML / CSS
使用CSS3实现圆角,阴影,透明
Dec 23 HTML / CSS
CSS3中HSL和HSLA的简单使用示例
Jul 14 HTML / CSS
CSS3制作炫酷带方向感应的鼠标滑过图片3D动画
Mar 16 HTML / CSS
基于ccs3的timeline时间线实现方法
Apr 30 HTML / CSS
一篇文章带你学习CSS3图片边框
Nov 04 HTML / CSS
详解Html5原生拖拽操作
Jan 12 HTML / CSS
canvas基础之图形验证码的示例
Jan 02 HTML / CSS
HTML5进度条特效
Dec 18 HTML / CSS
纯html+css实现Element loading效果
Aug 02 HTML / CSS
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
May 07 #HTML / CSS
html5 datalist标签使用示例(自动完成组件)
May 04 #HTML / CSS
HTML5 visibilityState属性详细介绍和使用实例
May 03 #HTML / CSS
HTML5中判断用户是否正在浏览页面的方法
May 03 #HTML / CSS
在HTML5 Canvas中放入图片和保存为图片的方法
May 03 #HTML / CSS
HTML5 Canvas+JS控制电脑或手机上的摄像头实例
May 03 #HTML / CSS
一个不错的HTML5 Canvas多层点击事件监听实例
Apr 29 #HTML / CSS
You might like
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
php使用exec shell命令注入的方法讲解
2013/11/12 PHP
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
采用memcache在web集群中实现session的同步会话
2014/07/05 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
PHP带节点操作的无限分类实现方法详解
2016/11/09 PHP
js键盘上下左右键怎么触发function(实例讲解)
2013/12/14 Javascript
js确认删除对话框效果的示例代码
2014/02/20 Javascript
BootStrap的Datepicker控件使用心得分享
2016/05/25 Javascript
js date 格式化
2017/02/15 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
原生JS上传大文件显示进度条 php上传文件代码
2020/03/27 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
2017/11/29 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
小程序实现订单倒计时功能
2019/04/23 Javascript
微信小程序调用微信支付接口的实现方法
2019/04/29 Javascript
vue实现抽屉弹窗效果
2020/11/15 Javascript
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
2017/11/24 Python
python实现图书管理系统
2018/03/12 Python
Django 中间键和上下文处理器的使用
2019/03/17 Python
python同步两个文件夹下的内容
2019/08/29 Python
Django中密码的加密、验密、解密操作
2019/12/19 Python
基于Tensorflow:CPU性能分析
2020/02/10 Python
如何利用Python动态模拟太阳系运转
2020/09/04 Python
利用python实现后端写网页(flask框架)
2021/02/28 Python
网站性能延迟加载图像的五种技巧(小结)
2020/08/13 HTML / CSS
Super-Pharm波兰:药房和香水在一个地方
2020/08/18 全球购物
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
GC是什么?为什么要有GC?
2013/12/08 面试题
函授自我鉴定
2013/11/06 职场文书
简历中的自我评价怎么写
2014/01/29 职场文书
毕业生求职信的经典写法
2014/01/31 职场文书
科技活动周标语
2014/10/08 职场文书
经典祝酒词大全
2015/08/12 职场文书