HTML5 script元素async、defer异步加载使用介绍

接下来我将为你详细讲解一下“HTML5 script元素async、defer异步加载使用介绍”的完整攻略。

什么是async、defer异步加载

在HTML5中,script标签有两个属性可以实现异步加载,分别是async和defer。

async属性定义了脚本是否异步加载,异步加载的脚本不会阻塞页面的加载。

defer属性定义了脚本是否延迟执行,延迟执行的脚本会在HTML文档解析完成后,DOMContentLoaded事件触发前执行。defer属性只对外部脚本有效,内部脚本会自动当做defer处理。

async和defer的用法

async使用示例

<!DOCTYPE html>
<html>
  <head>
    <title>async示例</title>
  </head>
  <body>
    <h1>async示例</h1>
    <script src="./js/script1.js" async></script>
    <script src="./js/script2.js" async></script>
    <script>
      console.log('这里是内联脚本');
    </script>
    <p>这里是网页主体内容</p>
  </body>
</html>

上述代码会异步加载script1.js和script2.js脚本,因此这两个脚本不会阻塞页面的加载。另外,内联脚本会在DOM构建完成后执行。

defer使用示例

<!DOCTYPE html>
<html>
  <head>
    <title>defer示例</title>
    <script src="./js/script1.js" defer></script>
    <script src="./js/script2.js" defer></script>
  </head>
  <body>
    <h1>defer示例</h1>
    <p>这里是网页主体内容</p>
  </body>
</html>

上述代码会延迟执行script1.js和script2.js脚本,因此这两个脚本会在HTML文档解析完成后,在DOMContentLoaded事件触发前被执行。

总结

async属性让脚本异步执行,不会阻塞页面的渲染和用户的交互。defer属性也能实现异步加载,但是会在DOMContentLoaded事件触发前执行。我们可以根据实际需求选择使用。

阅读剩余 21%

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:HTML5 script元素async、defer异步加载使用介绍 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • javascript常见用法总结

    JavaScript常见用法总结 JavaScript是一种广泛用于Web开发的编程语言,具有强大的功能和灵活性。本文将为您介绍一些常见的JavaScript用法以及它们的用法和示例。 1. 声明和初始化变量 在JavaScript中,您可以使用var、let或const关键字来声明变量。其中,var和let可以初始化变量,而const只能初始化常量。下面是…

    JavaScript 2023年5月17日
    00
  • js实现class样式的修改、添加及删除的方法

    Javascript可以通过操作DOM元素来实现对class样式的修改、添加及删除。 修改class样式的方法 要修改DOM元素的class属性,可以使用classList属性,该属性包含了添加、删除和切换class的方法。 const element = document.querySelector(".target-element")…

    JavaScript 2023年5月19日
    00
  • javascript利用canvas实现鼠标拖拽功能

    下面是关于“javascript利用canvas实现鼠标拖拽功能”的完整攻略: 什么是canvas? Canvas是HTML5中的一个新特性,是一个可以用脚本(通常为JavaScript)在其中绘制图形的HTML元素。Canvas有两种绘制路径:一种是通过命令式的JavaScript进行绘图;另外一次是通过使用矢量图形编辑器生成并导入路径。 实现鼠标拖拽的步…

    JavaScript 2023年6月11日
    00
  • 详解JavaScript表单验证(E-mail 验证)

    详解JavaScript表单验证(E-mail 验证) 在实现表单验证时,E-mail 验证是一个必不可少的步骤。在本文中,我们将会介绍如何使用 JavaScript 进行 E-mail 验证,以确保用户输入的 E-mail 地址格式正确。 步骤一:获取用户输入的 E-mail 地址 在 JavaScript 中获取用户输入的 E-mail 地址可以使用 g…

    JavaScript 2023年6月10日
    00
  • JavaScript判断数组成员的几种方法

    下面是“JavaScript判断数组成员的几种方法”的完整攻略。 判断数组成员的几种方法 使用 JavaScript 判断一个变量是否为数组是非常重要的操作。下面介绍几种判断数组成员的方法。 1. instanceof 使用 instanceof 运算符可以判断一个变量是否为某个类的实例。因为在 JavaScript 中,所有的数组都是 Array 类的实例…

    JavaScript 2023年5月27日
    00
  • 理解JavaScript中worker事件api

    理解JavaScript中worker事件API,需要掌握以下几个关键点: 什么是Worker线程? Worker线程是JavaScript中的一种特殊线程,它可以在后台运行独立的JavaScript代码片段,可以与主线程并行工作,从而提高整个Web应用程序的性能。 什么是Worker事件API? Worker事件API是用于管理Worker线程和主线程之间…

    JavaScript 2023年5月28日
    00
  • javascript中Date format(js日期格式化)方法小结

    下面我将详细讲解“javascript中Date format(js日期格式化)方法小结”。 简介 Date对象是Javascript同日期相关的对象,它提供了很多方便易用的日期时间操作方法。其中format方法就是在Date对象中提供的一种日期格式化的方法。 语法 Date.format(formatStr) formatStr为日期格式化字符串。常用的格…

    JavaScript 2023年5月27日
    00
  • JavaScript对象属性设置和屏蔽技巧

    关于JavaScript对象属性设置和屏蔽技巧,我从下面的几个方面详细阐述: 禁止增加属性 我们可以使用 Object.preventExtensions() 方法来禁止对象增加属性。如果我们尝试给一个被禁止增加属性的对象增加属性,就会失败并抛出错误。 const obj = { a: 1, b: 2 }; Object.preventExtensions(…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部