• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > 详解HTML5中rel属性的prefetch预加载功能使用_html5教程技巧

详解HTML5中rel属性的prefetch预加载功能使用_html5教程技巧

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5,rel,prefetch,预加载等相关知识,匿名希望在学习及工作中可以帮助到您
在HTML5中,有个很有用但常被忽略的特性,就是预先加载(prefetch),它的原理是:
利用浏览器的空闲时间去先下载用户指定需要的内容,然后缓存起来,这样用户下次加载时,就直接从缓存中取出来,效率就快了.

举个例子说明:比如要预先加载某个页面,可以这样:

  1. <link rel="prefetch" href="http://www.example.com/">

但如果是google的话,要用另外的一个名称,即:

  1. <link rel="prerender" href="http://www.example.com/">

即使在不支持的浏览器,用了这个特性其实是不会出错的,只不过浏览器解析不到而已,
所以,如果你感觉能有办法预先预测到用户期望点的页面(比如用户看最新的受欢迎的热图,他 可能看了第一页后,会继续看下一页,这个时候就可以用预先加载这个特性了).比如

  1. <link rel="prefetch" href="">

而单独取一张图片也是可以的,比如:

  1. <link rel="prefetch" href="/images/test.jpg"/>

有了浏览器缓存,为何还需要预加载?
1.用户可能是第一次访问网站,此时还无缓存
2.用户可能清空了缓存
3.缓存可能已经过期,资源将重新加载
4.用户访问的缓存文件可能不是最新的,需要重新加载
5.Chrome 的预加载技术
现在的 chrome 聪明到根据你的浏览记录,预测到你可能访问或搜索哪些网站,在你打开网站之前就加载好了一些资源了。
举个栗子,当你在搜索框输入 "amaz" 时,它猜测到你可能要访问 amazon.com,可能就帮你加载了这个网站的一些资源。
如果这个预测算法精准的话,就能大大地提高用户的浏览体验了。

DNS prefetch
我们知道,当我们访问一个网站如 www.amazon.com 时,需要将这个域名先转化为对应的 IP 地址,这是一个非常耗时的过程。
DNS prefetch 分析这个页面需要的资源所在的域名,浏览器空闲时提前将这些域名转化为 IP 地址,真正请求资源时就避免了上述这个过程的时间。

  1. <meta http-equiv='x-dns-prefetch-control' content='on'>
  2. <link rel='dns-prefetch' href='http://g-ecx.images-amazon.com'>
  3. <link rel='dns-prefetch' href='http://z-ecx.images-amazon.com'>
  4. <link rel='dns-prefetch' href='http://ecx.images-amazon.com'>
  5. <link rel='dns-prefetch' href='http://completion.amazon.com'>
  6. <link rel='dns-prefetch' href='http://fls-na.amazon.com'>

应用场景1:我们的资源存在在不同的 CDN 中,那提前声明好这些资源的域名,就可以节省请求发生时产生的域名解析的时间。
应用场景2:如果我们知道用户接下来的操作一定会发起一起资源的请求,那就可以将这个资源进行 DNS-Prefetch,加强用户体验。

Resource prefetch
在 Chrome 下,我们可以用 link标签声明特定文件的预加载:

  1. <link rel='subresource' href='critical.js'>
  2. <link rel='subresource' href='main.css'>
  3. <link rel='prefetch' href='secondary.js'>

在 Firefox 中或用 meta 标签声明:

  1. <meta http-equiv="Link" content="; rel=prefetch">

rel='subresource' 表示当前页面必须加载的资源,应该放到页面最顶端先加载,有最高的优先级。
rel='prefetch' 表示当 subresource 所有资源都加载完后,开始预加载这里指定的资源,有最低的优先级。
注意:只有可缓存的资源才进行预加载,否则浪费资源!

Pre render
前面说到的预解析DNS、预加载资源已经够强悍了有木有,可还有更厉害的预渲染(Pre-rendering)!
预渲染意味着我们提前加载好用户即将访问的下一个页面,否则进行预渲染这个页面将浪费资源,慎用!

  1. <

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2018-12-03为什么视频网站在桌面端依然采用Flash而不是HTML5?
  • 2018-12-03浅谈HTML5语义元素的实例教程
  • 2018-12-03关于网络画板的10篇文章推荐
  • 2018-12-03移动端(手机)网站应该注意什么问题?
  • 2018-12-03html5 canvas (三)
  • 2018-12-03这两个js有冲突吗?
  • 2018-12-03如何通过html和css完成下拉菜单的制作?
  • 2018-12-03详解HTML5应用中accordion三种效果的探索
  • 2017-08-06一波HTML5 Canvas基础绘图实例代码集合
  • 2018-12-03响应式编程(Reactive Programming)介绍

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML5 Web 存储详解
    • 现在市面上的这么多的h5交互设计软件,到底有什么差异?
    • 知乎的登录首页背景动画是怎么做到的?JS还是CSS3,求教
    • html5 更新图片颜色示例代码_html5教程技巧
    • HTML5架构(HTML5 Boilerplates )
    • 拖放 API 实现拖放排序
    • HBuilder 编辑器有什么故事?
    • html5设置或返回音频/视频是否应该在结束时再次播放的属性loop
    • HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
    • H5移动端各种各样的列表的制作方法(五)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有