美文网首页
使用defer优化页面白屏加载时间

使用defer优化页面白屏加载时间

作者: 陈情令 | 来源:发表于2023-12-06 14:11 被阅读0次

背景:

官网首页头部轮播的图片过大, 导致页面加载过慢, 或是先加载出中部和底部部分, 页面出现次序十分不雅观, 故可自定义一个方法, 使页面组件逐帧加载

在untils.ts文件中新建方法:

import { ref,onUnmounted } from 'vue

// 给 maxCount一个最大值, 防止frameCount.value无限递增

export const useDefer = (maxCount = 4) => {

const frameCount = ref(0); // 此处使用ref, 使 frameCount 为响应式值

let rafId;

function updateFrameCount() {

rafId = requestAnimationFrame(() => {

frameCount.value++;

if (frameCount.value >= maxCount) {

return;

}

updateFrameCount();

});

}

updateFrameCount();

//销毁

onUnmounted(() => {

cancelAnimationFrame(rafId);

});

return function defer(n: number) {

return frameCount.value >= n;

};

};

vue文件中进行使用

import { useDefer } from '@/utils/utils';

const defer = useDefer();

//可定义在第几帧加载

<Banner v-if="defer(2)" />

摘自 https://blog.csdn.net/weixin_49022197/article/details/133032495

相关文章

  • async / defer

    async / defer 共同点: 使用 async/defer 属性在加载脚本时,异步下载文件,不会阻塞页面解...

  • 网页性能优化

    一、网页加载流程图 二、白屏与首屏 2.1 白屏时间 白屏时间:页面开始展示的时间点 - 开始请求的时间点 开始请...

  • web前端性能优化——如何提高页面加载速度

    什么叫web前端性能优化? 使用户觉得页面加载快!使用户觉得页面加载快!使用户觉得页面加载快! 重要的话说三遍!!...

  • react预渲染prerender-spa-plugin

    前言: 为何使用prerender-spa-plugin?原因在于单页面SPA首页白屏时间长,不利于SEO优化的问...

  • 浅谈前端js面试--运行环境(性能优化)

    优化策略 多使用内存、缓存或其他方法 减少CPU计算、减少网络 入手 加载页面和静态资源 页面渲染 加载资源优化 ...

  • script标签defer和async属性的区别

    为了提高页面加载性能,在页面引入外部js的时候,可以使用script标签的defer和async属性来使得外部js...

  • iOS性能优化之页面加载速率

    iOS性能优化之页面加载速率 iOS性能优化之页面加载速率

  • Skeleton Screen骨架屏

    背景 传统的优化用户等待的体验 - 白屏使用动画,菊花图,加载进度条等: It can be bad becaus...

  • WKWebview 白屏

    WKWebview页面突然白屏问题 页面突然白屏可能是由于加载资源过大,内存不足,导致webview的进程被程序终...

  • React Native白屏优化

    本文针对使用React Native开发混合应用的过程中iOS端白屏问题,提出了react-native预加载优化...

网友评论

      本文标题:使用defer优化页面白屏加载时间

      本文链接:https://www.haomeiwen.com/subject/gqejgdtx.html