js 延迟加载 改变JS的位置加快网页加载速度

JS 延迟加载是优化网站性能的一种方式。它允许我们选择何时启动 JS 脚本,以加快页面加载速度。下面是这个过程的完整攻略:

1. 正确引用 JS 文件

在 HTML 页面中,一定要使用正确的代码来引用 JS 文件。你需要确保代码中的文件路径正确。比如,如果 JS 文件在根目录下的 js 文件夹内,你需要像这样写:

<script src="js/app.js"></script>

2. 将 JS 代码放到 HTML 末尾

<script> 标签放在 <body> 标签的末尾可以提高页面加载速度。因为这样加载页面时会先展示 HTML 内容,然后再执行 JS 脚本,而不会因为加载 JS 脚本而拖慢页面。

<!DOCTYPE html>
<html>
  <head>
    <title>Your Page Title</title>
  </head>
  <body>
    <!-- Your page content before scripts -->
    <script src="js/app.js"></script>
  </body>
</html>

3. 使用异步 JS

在注入 JS 脚本的时候,可以使用 async 属性来提高页面加载速度。使用 async 属性,JS 文件的加载将在 HTML 文件加载时同时进行。这个选项适用于不需要等待 JS 文件加载完成的情况。

<!DOCTYPE html>
<html>
  <head>
    <title>Your Page Title</title>
  </head>
  <body>
    <!-- Your page content before scripts -->
    <script src="js/app.js" async></script>
  </body>
</html>

4. 使用延迟 JS

使用 defer 属性可以在整个 HTML 文件加载完毕后再加载 JS 文件。而与 async 属性不同的是,defer 属性确保代码的执行顺序与它们在 HTML 文件中的位置一致。这个选项适用于需要等待 JS 文件加载完成的情况。

<!DOCTYPE html>
<html>
  <head>
    <title>Your Page Title</title>
  </head>
  <body>
    <!-- Your page content before scripts -->
    <script src="js/app.js" defer></script>
  </body>
</html>

示例

下面是两个基于上述攻略的实际示例:

示例一

<!DOCTYPE html>
<html>
  <head>
    <title>Your Page Title</title>
  </head>
  <body>
    <h1>Welcome to My Website</h1>
    <p>Here is some content</p>
    <script src="js/app.js" defer></script>
  </body>
</html>

在示例一中,我们将 <script> 标签放在了 <body> 标签的末尾,并使用了 defer 属性。

示例二

<!DOCTYPE html>
<html>
  <head>
    <title>Your Page Title</title>
  </head>
  <body>
    <h1>Welcome to My Website</h1>
    <p>Here is some content</p>
    <script src="js/app.js" async></script>
  </body>
</html>

在示例二中,我们将 <script> 标签放在了 <body> 标签的末尾,并使用了 async 属性。由于我们不需要等待 JS 文件加载完成才显示页面,所以我们使用了 async

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 延迟加载 改变JS的位置加快网页加载速度 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • 小程序自定义导航栏兼容适配所有机型(附完整案例)

    下面是详细讲解“小程序自定义导航栏兼容适配所有机型”的完整攻略。 什么是小程序自定义导航栏? 小程序是一种可以在微信内部运行的轻量级应用,它有自己的界面结构,包括标题栏、导航栏、TabBar等。 但是,对于一些特殊的业务场景,我们可能需要对小程序原有的导航栏进行定制,比如更改样式、添加按钮等,这就需要用到自定义导航栏。 自定义导航栏兼容适配所有机型的方法 自…

    other 2023年6月25日
    00
  • vue前端开发层次嵌套组件的通信详解

    Vue前端开发层次嵌套组件的通信详解攻略 在Vue前端开发中,组件的通信是一个重要的概念。当组件层次嵌套较深时,组件之间的通信可能会变得复杂。本攻略将详细介绍Vue中层次嵌套组件的通信方式,并提供两个示例说明。 1. 父子组件通信 父子组件通信是最常见的场景之一。在Vue中,父组件可以通过props向子组件传递数据,子组件可以通过事件向父组件发送消息。 示例…

    other 2023年7月27日
    00
  • java不通过配置文件初始化logger示例

    初始化Logger是Java程序中常见的操作之一,一般是用配置文件的方式来实现。但是,有时候我们不想使用配置文件的方式来初始化Logger,而是想通过代码来进行初始化。下面是两条示例说明来详细讲解如何不通过配置文件初始化Logger。 示例一:使用代码初始化rootLogger rootLogger是Logger hierarchy中的最高级别的Logger…

    other 2023年6月20日
    00
  • this.$message.success(‘提示信息’)少写了一个c导致报错

    以下是“this.$message.success(‘提示信息’)少写了一个c导致报错”的完整攻略,过程中包含两个示例说明的标准Markdown格式文本: this.$message.success(‘提示信息’)少写了一个c导致报错的完整攻略 在Vue.js中,我们经常使用this.$message.success(‘信息’)来显示成功提示信息。但是,有时…

    other 2023年5月10日
    00
  • Win10注册表添加右键跳转功能以便编辑注册表

    当我们需要频繁编辑Windows操作系统的注册表时,可以将编辑注册表的功能添加到右键菜单中来提高效率。下面是添加“编辑注册表”右键菜单的完整攻略。 步骤一:打开注册表编辑器 在Windows系统中,按下WIN+R组合键打开运行界面,输入regedit并回车即可打开注册表编辑器。 步骤二:创建快捷方式 在注册表编辑器中,依次展开以下路径: HKEY_CLASS…

    other 2023年6月27日
    00
  • simulink仿真入门到精通(十一)模块的封装

    Simulink仿真入门到精通(十一):模块的封装 在Simulink仿真过程中,经常需要使用一些复杂的模块来实现特定的功能,为了方便使用和维护,我们可以将这些模块进行封装,将其打包成一个可以重复使用的子系统。本文将介绍如何在Simulink中对模块进行封装。 什么是模块封装 模块封装是指将多个模块组合成一个单一的模块,这个模块拥有自己的输入和输出端口,并可…

    其他 2023年3月28日
    00
  • 新买的硬盘怎么使用?安装到电脑上系统里不显示怎么办?

    新买的硬盘使用前需要进行分区、格式化等操作,才能在电脑上正常使用。如果硬盘安装到电脑上后系统里不显示,可能是没分区、格式化、没有驱动等原因造成的。下面是详细的操作攻略: 1. 连接硬盘 首先需要将硬盘连接到电脑上,可以通过SATA、USB等方式连接。连接后电脑会自动识别硬盘并弹出一个提示框,询问如何处理这个新硬盘,此时需要点击“初始化磁盘”按钮,进行磁盘初始…

    other 2023年6月27日
    00
  • 微信小程序:多张图片上传

    微信小程序:多张图片上传攻略 微信小程序中,可以使用 wx.chooseImage() 方法来选择并上传多张图片。以下是使用 wx.chooseImage() 方法的完整攻略: 步骤1:选择图片 首先,您需要使用 wx.chooseImage() 方法选择要上传的图片。以下是一个示例代码片段,演示如 wx.chooseImage() 方法选择图片: wx.c…

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