zoukankan      html  css  js  c++  java
  • HTML5 预加载

    原文地址: HTML5 Link Prefetching
    原文日期: 2010年07月07日
    翻译日期: 2013年08月13日

    浏览器厂商和开发者之间共同努力的一个方向就是让网站更快。现在已有很多广为人知的加速解决方案:CSS sprites(CSS精灵,拼图)以及图像优化,分布式配置文件(.htaccess),JS/文本文件压缩,CDN加速等。

    我在另一篇博文中介绍了 如何让网站更快
    FireFox推介一种新的网站加速策略: 链接预加载。什么是链接预加载?MDN描述如下:

    预加载是一种浏览器机制,使用浏览器空闲时间来预先下载/加载用户接下来很可能会浏览的页面/资源。页面提供给浏览器需要预加载的集合。浏览器载入当前页面完成后,将会在后台下载需要预加载的页面并添加到缓存中。当用户访问某个预加载的链接时,如果从缓存命中,页面就得以快速呈现。

    简单概述:网站根据用户分析,让浏览器后台下载指定页面/文档/图片,实现起来超easy:

    HTML5预加载标签

    <!-- 页面,可以使用绝对或者相对路径 -->
    <link rel="prefetch" href="page2.html" />
    
    <!-- 图片,也可以是其他类型的文件 -->
    <link rel="prefetch" href="sprite.png" />
    从上面的HTML代码可以看出,预加载使用 <link> 标签,并指定 rel="prefetch" 属性,而href属性就是需要预加载的文件路径。而Mozilla还实现了一些类似的 link rel 属性:

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

    备注: https 协议也同样支持。
    何时需要预加载
    网站是否采用预加载取决于你的需求,下面是一些建议:
    - 如果一系列的页面幻灯片一样展示,那么可以预加载前后各1至3个页面.
    - 加载网站内部通用的图片
    - 在搜索结果页预加载下一页

    阻止预加载
    Firefox 允许禁止预加载模式,代码如下:
    user_pref("network.prefetch-next", false);
    
    注意事项
    关于链接预加载,有如下注意事项:
    - 预加载可以跨域进行,当然,请求时cookie等信息也会被发送。
    - 预加载可能破坏网站统计数据,而用户并没有实际访问。
    - Mozilla Firefox 是目前唯一支持预加载模式的浏览器,(2003-2010)

    你怎么认为呢?使用空闲时间下载额外的文件属于一种激进的优化,有什么问题欢迎联系我。



  • 相关阅读:
    SqlCeConnectionBeginTransaction 方法
    父子继承窗体,子窗体视图无法正常打开,解决办法
    Windows Mobile 如何和模拟器关联有用的URL
    Windows Mobile 6.5.3 Developer Tool Kit
    通过Eclipse import导入项目,並重新命名Project
    【杂】Oracle使用记录:分区表及执行计划
    实践 2-0 selenium使用的一些总结
    实践2-1 python连接Oracle数据库
    【杂】word文件加密和压缩加密
    【杂】HIVE使用记录:回收站及从回收站恢复分区表
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6467110.html
Copyright © 2011-2022 走看看