性能优化技巧:使用 JavaScript 异步加载和延迟加载资源

阅读时长 7 分钟读完

前言

Web 作为一个充满互动的平台,各式各样的交互元素、复杂的页面结构以及海量的媒体资源无一不增加了网页的加载时间,直接影响着用户的体验。性能优化是前端工程化中必不可少的环节,本文主要介绍使用 JavaScript 异步加载和延迟加载资源的常见技巧,以帮助开发者提升页面性能和用户体验。

什么是异步加载和延迟加载资源?

异步加载和延迟加载资源是两种常见的性能优化方式。异步加载资源是在页面创建过程中,通过 JavaScript 动态地添加需要异步加载的资源,可以分为并行加载和串行加载两种方式。延迟加载资源是当页面加载完成后,通过 JavaScript 延迟需要加载的资源,以达到优化页面性能的目的。

异步加载资源

异步加载资源是让网页在浏览器的下载程度允许的情况下,尽早地展示,增加页面的响应速度和用户体验。

并行加载资源

并行加载资源是指将需要加载的资源按照并列的方式同时加载,从而减少加载时间。以下代码展示了一种通过动态创建 script 标签实现并行加载外部 JavaScript 的方式:

串行加载资源

串行加载资源是指将需要加载的资源逐一加载,保证加载时的稳定性和资源的可用性。以下代码展示了一种通过动态创建 script 标签以依次加载外部 JavaScript 的方式:

-- -------------------- ---- -------
--- --------- - -------------- -
  --------------- -- --------- ---- - ------- ------
  --- - - -------------------------------------------
  --- ---- - ---------- -
    ----------------- -
      --- --- - -------------
      --- ------ - ---------------------------------
      ----------- - ------------------
      ------------- - ------------------------- - ---------- -
        -------
      --
      ---------- - ----
      --------------------------------- ---
    -
  --
  -------
--

延迟加载资源

延迟加载资源是根据网页内容,在页面下载完成后才去下载自己所需的一些组件和内容,达到节省带宽和提高加载速度的目的。

延迟图片加载

延迟加载图片是优化页面性能和用户体验的常见手段之一,以下代码展示了一种基于 lazyload.js 程序模块实现的延迟加载图片的方式:

-- -------------------- ---- -------
----------------- --------- ---------- -
  --- -- - ----------- ---- -
        -- --------------------------- -
          --- - -----------------------------
        - ---- -
          --- - - --------- - - ---------------- -- ---------------------
          ------------ -------
          ------- - - ------ - - -- - - --- - - --------- - - -- ---- -
            ------------------- -- -------------
          -
   
          ----------------
          --- - --
        -
        ------ ----
      --
   
      ---------------- - ------------- --- -
        ----------------------- - -------------------------- --- ------ - -------------------- - --------------------- - ---- --- - --------- - ---- - ---
      --
      ---- - ------------- ---- -
        ------ ----------------------------------------- -----
      --
   
  -------- ------------- --- -
    --- --- - --- --------
        --- - ----------------------------
    ---------- - ---------- -
      -- --- ---------- -
        --------------------------- ---
      - ---- -
        ------ - ----
      -
   
      -- - ---- - -----
    -
    ------- - ----
  -
   
  -------- --------------------- -
    --- ---- - --------------------------
   
    ------ -
       --------    -- -
    -- ---------   -- -
    -- -------- -- ------------------- -- --------------------------------------
    -
  -
   
  --- ------ - --- --------
      ----- - ---------------
      ------------- - ---------- -
        --- ---- - - -- - - -------------- ---- -
          -- ------------------------------ -
            -------------------- -------- -- -
              ---------------- ---
            ---
          -
        --
      --
  --- ---- - - -- - - ------------- ---- -
    ----------------------
  -
  ----------------
  -----------------------------------------
   
---------- ----------

延迟加载视频和音频

延迟加载视频和音频可以通过一些 jQuery 插件实现,比较常用的是 lazyYT,以下为使用 lazyYT 插件加在视频的示例代码:

小结

通过以上介绍可以看到,使用 JavaScript 异步加载和延迟加载资源是前端性能优化的重要手段之一。在实际项目中,我们可以根据具体情况选择使用并行加载、串行加载、延迟加载图片、延迟加载视频、音频等优化方式,提升页面性能和用户体验,更好的展示网页内容。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67cdc950e46428fe9e782371

纠错
反馈