页面加载完成之前的全屏 loading 图片出现的时机

目录

1,问题表现

一般打开网页时,如果资源较多会有白屏的情况,除了在项目上做首屏优化之外,同时也可以增加一个全屏 loading 图片,等资源加载完成后隐藏。

现在有2个问题

  1. loading 图片应该放在哪里?
  2. loading 图片什么时候隐藏?

2,解决

对 Vue 项目来说,可以在应用实例挂载到容器元素之后,隐藏 loading 图片。

所以一种解决方式是:loading 图片放到 App.vue 中,并在 onMouted 中隐藏即可。

执行顺序: onMouted > DOMContentLoaded 事件 > load 事件

最优的做法

因为 Vue 项目挂载应用实例时,是替换了 div#app 元素的内容。所以可在 index.html 中直接设置,最终会被替换。

html 复制代码
<div id="app">
  <style>
    .loading-img {
      position: fixed;
      width: 200px;
      height: 200px;
      left: 50%;
      top: 50%;
      margin-left: -100px;
      margin-top: -100px;
    }
  </style>
  <img class="loading-img" src="./img/loading.gif" />
</div>

以上。

相关推荐
超人气王1 小时前
新手学前端JS浅拷贝和深拷贝:对象复制竟然是个“替身文学”?
javascript·面试
YHL1 小时前
📚 JS执行机制(执行上下文 + 调用栈 + 编译流程)
前端·javascript
不简说1 小时前
这次真香!sv-print 可视化打印设计器更新:插件脚手架、Excel 导出、弹窗 API 三连发
前端·javascript·前端框架
无聊的老谢1 小时前
Web GIS 最佳实践:Vue 集成 Leaflet/OpenLayers 实现基站海量点位渲染
前端·javascript·vue.js
yingyima1 小时前
GCP Cloud Scheduler 核心语法与实战示例速查手册
前端
用户57350107252061 小时前
Elpis 项目阶段性总结 - 基于 vue3 完成领域模型架构建设
前端
东风破_1 小时前
V8 如何执行你的代码——编译、上下文与调用栈
javascript
假如让我当三天老蒯1 小时前
为什么 setData 能获取到 prev 参数?(自学用)
前端·react.js
AskHarries2 小时前
Workspace:文件系统、项目上下文和执行边界
java·服务器·前端
Aphasia3112 小时前
从内存模型看深浅拷贝
前端·javascript·面试