使用HTML5的链接预取功能(link prefetching)给网站提速


Posted in HTML / CSS onDecember 13, 2012

HTML5的链接预取功能(link prefetching)是一个埋在沙里的宝石,至今还很少人知道它的价值。 你可能已经知道了那古老而又闻名的图片预加载功能,链接预取功能就是将此概念由图片扩展到了网页内容(不需要任何AJAX代码)。
它是这样工作的:在页面上添加一个像这样的链接:

复制代码
代码如下:

<link rel="next" href="page2.html">

这样,当你的机器空闲时,浏览器就会自动的在后台把page2.html下载下来。 当用户最终点击了page2.html的链接时,浏览器会从缓存里把这个页面取出来,所以这个页面的加载速度会出乎意料的快。
目前只有火狐浏览器支持这个功能。但是因为火狐目前是世界上拥有第二大用户群的浏览器,所以只要你在HTML页面了加上这样的一句代码,仍有相 当大的一部分访问者能体验到这十分明显的页面加载速度的提高。很酷吧!

你可以在许多情况下可以使用链接预取功能
* 当你有一篇篇幅很长的文章,或在线教程,或图册等,需要分成多页显示时。
* 在你的网站首页预加载那些用户最可能访问的下一页。(可能是一个商品网站上“重点推荐”商品页面,或博客网站上最近的一篇博客)
* 搜索查询页面预加载搜索出来的前几条。
对于静态的内容你还可以使用rel标记实现预取功能:

复制代码
代码如下:

<link rel="prefetch" href="/images/big.jpeg?ca541d">

这里还有其它一些有趣的事需要注意:
* 链接预取功能不久将会在Opera, Chrome 和 Safari 浏览器里实现,但对于Internet Explorer,你估计要等到2020年。
* 如果这种功能被广泛的使用,它会影响你的网站日志和访问统计。请考虑这样的情况,你的一个页面预存取了好几个页面,可用户实际上没有访问到这几个页面。 你的服务器(或统计工具)并不知道这两者之间的区别。
为了分清这个,Firefox会在HTTP头信息里发送X-moz: prefetch信息,但你需要在服务器端有什么东西能识别这种信息。
HTML / CSS 相关文章推荐
深入解读CSS3中transform变换模型的渲染
May 27 HTML / CSS
css3 2D图片转动样式可以扩充到Js当中
Apr 29 HTML / CSS
纯CSS3实现自定义Tooltip边框涂鸦风格的教程
Nov 05 HTML / CSS
Html5移动端弹幕动画实现示例代码
Aug 27 HTML / CSS
解析HTML5中的新功能本地存储localStorage
Mar 01 HTML / CSS
HTML5中使用json对象的实例代码
Sep 10 HTML / CSS
移动端html5判断是否滚动到底部并且下拉加载
Nov 19 HTML / CSS
萌新的HTML5 入门指南
Nov 06 HTML / CSS
详解如何将 Canvas 绘制过程转为视频
Jan 25 HTML / CSS
如何在CSS中绘制曲线图形及展示动画
May 24 HTML / CSS
HTML静态页面获取url参数和UserAgent的实现
Aug 05 HTML / CSS
html原生table实现合并单元格以及合并表头的示例代码
May 07 HTML / CSS
HTML5 实现一个访问本地文件的实例
Dec 13 #HTML / CSS
HTML4和HTML5之间除了相似以外的10个主要不同
Dec 13 #HTML / CSS
一张图片能隐含千言万语之隐藏你的程序代码
Dec 13 #HTML / CSS
HTML5 新旧语法标记对我们有什么好处
Dec 13 #HTML / CSS
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
Dec 13 #HTML / CSS
HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用
Dec 09 #HTML / CSS
HTML5 Web Database 数据库的SQL语句的使用方法
Dec 09 #HTML / CSS
You might like
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
浅谈php函数serialize()与unserialize()的使用方法
2014/08/19 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
jQuery学习7 操作JavaScript对象和集合的函数
2010/02/07 Javascript
Javascript 浮点运算精度问题分析与解决
2014/03/26 Javascript
单击和双击事件的冲突处理示例代码
2014/04/03 Javascript
chrome调试javascript详解
2015/10/21 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
WordPress 单页面上一页下一页的实现方法【附代码】
2016/03/10 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
2017/05/27 Javascript
JavaScript获取当前url路径过程解析
2019/12/27 Javascript
Python实现比较两个列表(list)范围
2015/06/12 Python
Python的装饰器模式与面向切面编程详解
2015/06/21 Python
基于hashlib模块--加密(详解)
2017/06/21 Python
Python 中导入csv数据的三种方法
2018/11/01 Python
详解Python字典的操作
2019/03/04 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
Python找出列表中出现次数最多的元素三种方式
2020/02/24 Python
在PyTorch中使用标签平滑正则化的问题
2020/04/03 Python
python读取图像矩阵文件并转换为向量实例
2020/06/18 Python
python中not、and和or的优先级与详细用法介绍
2020/11/03 Python
详解python中的异常和文件读写
2021/01/03 Python
各大浏览器 CSS3 和 HTML5 兼容速查表 图文
2010/04/01 HTML / CSS
关于box-sizing的全面理解
2016/07/28 HTML / CSS
芝加哥牛排公司:Chicago Steak Company
2018/10/31 全球购物
The Body Shop美体小铺西班牙官网:天然化妆品
2019/06/21 全球购物
行政部总经理岗位职责
2014/01/04 职场文书
合作经营协议书范本
2014/09/16 职场文书
房屋授权委托书范本
2014/10/07 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书
财务年终工作总结大全
2019/06/20 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
python如何做代码性能分析
2021/04/26 Python
MyBatis-Plus 批量插入数据的操作方法
2021/09/25 Java/Android
JavaScript中document.activeELement焦点元素介绍
2021/11/27 Javascript
SQL Server中使用表变量和临时表
2022/05/20 SQL Server