资讯专栏INFORMATION COLUMN

javascript延迟加载

Galence / 1855人阅读

摘要:为什么要延时加载呢因为这样在一定程度上可以提高页面加载速度。接下来就给大家介绍一下几种延迟加载方法将文件放在底部常用但是第一种方法有时候会收到延时加载的警告,处理这种问题在底部接入如下代码延时加载常用和。一旦下载完毕就会立刻执行。

为什么要延时加载呢?因为这样在一定程度上可以提高页面加载速度。提升用户使用舒适度。

接下来就给大家介绍一下几种延迟加载javascript方法:

将js文件放在body底部(常用)

但是第一种方法有时候会收到google延时加载js的警告,处理这种问题

在body底部接入如下代码

setTimeout延时加载(常用)

defer和async。

- defer="defer":该属性用来通知浏览器,这段脚本代码将不会产生任何文档内容。例如 JavaScript代码中的document.write()方法将不会起作用,浏览器遇到这样的代码将会忽略,并继续执行后面的代码。属性只能是 defer,与属性名相同。在HTML语法格式下,也允许不定义属性值,仅仅使用属性名。
- async="true/false":该属性为html5中新增的属性,它的作用是能够异步地下载和执行脚本,不因为加载脚本而阻塞页面的加载。一旦下载完毕就会立刻执行。
defer和async的比较

相同点:

加载文件时不阻塞页面渲染;
对于inline的script无效;
使用这两个属性的脚本中不能调用document.write方法;
有脚本的onload的事件回调;
允许不定义属性值,仅仅使用属性名;

不同点:

 html的版本html4.0中定义了defer;html5.0中定义了async;这将造成由于浏览器版本的不同而对其支持的程度不同;
 执行时刻:每一个async属性的脚本都在它下载结束之后立刻执行,同时会在window的load事件之前执行。所以就有可能出现脚本执行顺序被打乱 的情况;每一个defer属性的脚本都是在页面解析完毕之后,按照原本的顺序执行,同时会在document的DOMContentLoaded之前执 行。

这两个属性会有三种可能的组合:

如果async为true,那么脚本在下载完成后异步执行。
如果async为false,defer为true,那么脚本会在页面解析完毕之后执行。
如果async和defer都为false,那么脚本会在页面解析中,停止页面解析,立刻下载并且执行。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/81942.html

相关文章

  • 页面加速优化

    摘要:延迟加载当我们调用外部的时候,使用事件在页面内部被加载前,外部将不被加载脚本调用外部文件拷贝以上代码。代码代码片段组合外部工具列表页面加速优化页面请求工具工具大全扩展阅读方面的设置 内联 CSS 优点 使用内联 CSS 可以减少浏览器去服务端去下载 CSS 文件 关键 CSS 内联到 HTML 文件中 缺点 CSS 文件没法被缓存 注意:该方法只适用于很小的 CSS...

    Lin_YT 评论0 收藏0
  • 页面加速优化

    摘要:延迟加载当我们调用外部的时候,使用事件在页面内部被加载前,外部将不被加载脚本调用外部文件拷贝以上代码。代码代码片段组合外部工具列表页面加速优化页面请求工具工具大全扩展阅读方面的设置 内联 CSS 优点 使用内联 CSS 可以减少浏览器去服务端去下载 CSS 文件 关键 CSS 内联到 HTML 文件中 缺点 CSS 文件没法被缓存 注意:该方法只适用于很小的 CSS...

    shixinzhang 评论0 收藏0
  • 页面加速优化

    摘要:延迟加载当我们调用外部的时候,使用事件在页面内部被加载前,外部将不被加载脚本调用外部文件拷贝以上代码。代码代码片段组合外部工具列表页面加速优化页面请求工具工具大全扩展阅读方面的设置 内联 CSS 优点 使用内联 CSS 可以减少浏览器去服务端去下载 CSS 文件 关键 CSS 内联到 HTML 文件中 缺点 CSS 文件没法被缓存 注意:该方法只适用于很小的 CSS...

    xiaotianyi 评论0 收藏0
  • Javascript设计模式之——代理模式

    摘要:最近在读设计模式与开发实践,在这里把文中的各种设计模式写出来,以便加深记忆,也可以分享给初学者。经纪人可以全权代表明星和客户谈判,最后把谈判结果给明星,明星决定签约与否。这也违反了面向对象设计原则中的单一职责原则。 最近在读《javascript设计模式与开发实践》,在这里把文中的各种设计模式写出来,以便加深记忆,也可以分享给初学者。如果你不了解设计模式,那么强烈推荐你阅读一下这本书,...

    cuieney 评论0 收藏0
  • 谈谈 <script> 标签以及其加载顺序问题,包含 defer & async

    摘要:标签加载顺序如果要谈标签加载顺序问题,首先要谈的就是标签的位置,因为标签的位置对于加载顺序来说有着很重要的影响。例如标签在以上代码中,可能由于下载时间比较长,由于两个标签都是异步执行,互不干扰,因此可能就会先于执行。 谈谈 标签加载顺序的问题 这篇文章比较长,如果你耐心读完了,我会感谢你愿意在这篇文章上花费时间,也希望你有收获。 其实说起,几乎搞前端的都知道他的作用:引入 JavaS...

    alexnevsky 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<