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 相关文章推荐
纯CSS实现菜单、导航栏的3D翻转动画效果
Apr 23 HTML / CSS
CSS3实现圆角、阴影、透明效果并兼容各大浏览器
Aug 08 HTML / CSS
CSS3实现同时执行倾斜和旋转的动画效果
Oct 27 HTML / CSS
浅析CSS3 中的 transition,transform,translate之间区别和作用
Mar 26 HTML / CSS
html5新增的定时器requestAnimationFrame实现进度条功能
Dec 13 HTML / CSS
基于 HTML5 WebGL 实现的垃圾分类系统
Oct 08 HTML / CSS
HTML5实践-图片设置成灰度图
Nov 12 HTML / CSS
html5 offlline 缓存使用示例
Jun 24 HTML / CSS
HTML5 Canvas中使用用路径描画圆弧
Jan 01 HTML / CSS
HTML5学习笔记之History API
Feb 26 HTML / CSS
记一次高分屏下canvas模糊问题
Feb 17 HTML / CSS
CSS使用伪类控制边框长度的方法
Jan 18 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
PHP保留两位小数并且四舍五入及不四舍五入的方法
2013/09/22 PHP
php使用Cookie控制访问授权的方法
2015/01/21 PHP
THINKPHP支持YAML配置文件的设置方法
2015/03/17 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
2018/03/15 PHP
一个不错的用JavaScript实现的UBB编码函数
2007/03/09 Javascript
Add a Formatted Table to a Word Document
2007/06/15 Javascript
javascript instanceof 内部机制探析
2010/10/15 Javascript
iframe 上下滚动条如何默认在下方实现原理
2012/12/10 Javascript
浅析js封装和作用域
2013/07/09 Javascript
jquery 日期控件datepicker属性详细解析
2013/11/08 Javascript
jQuery 实现侧边浮动导航菜单效果
2014/12/26 Javascript
vuejs2.0实现一个简单的分页示例
2017/02/22 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
js实现前端图片上传即时预览功能
2017/08/02 Javascript
IE9 elementUI文件上传的问题解决
2018/10/17 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
vue.js实现只能输入数字的输入框
2019/10/19 Javascript
VUE中setTimeout和setInterval自动销毁案例
2020/09/07 Javascript
[01:02:48]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Liquid
2018/04/03 DOTA
python实现的简单文本类游戏实例
2015/04/28 Python
Python实现比较两个列表(list)范围
2015/06/12 Python
利用Python如何批量更新服务器文件
2018/07/29 Python
python 2.7 检测一个网页是否能正常访问的方法
2018/12/26 Python
PyQt5实现QLineEdit添加clicked信号的方法
2019/06/25 Python
python实现两个文件夹的同步
2019/08/29 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
2019/09/16 Python
python读取excel数据并且画图的实现示例
2021/02/08 Python
scrapy-splash简单使用详解
2021/02/21 Python
纯css3无js实现的Android Logo(有简单动画)
2013/01/21 HTML / CSS
HTML实现代码雨源码及效果示例
2020/02/25 HTML / CSS
瑞典的玛丽小姐:Miss Mary of Sweden
2019/02/13 全球购物
《月迹》教学反思
2014/02/19 职场文书
房地产销售经理岗位职责
2015/02/02 职场文书
人生一定要学会的三样东西:放下、忘记、珍惜
2019/08/21 职场文书
如何用 Python 子进程关闭 Excel 自动化中的弹窗
2021/05/07 Python
关于Nginx中虚拟主机的一些冷门知识小结
2022/03/03 Servers