首页 > 其他分享 >前端优化 之 preload

前端优化 之 preload

时间:2024-03-22 09:13:35浏览次数:38  
标签:preload Preload 浏览器 crossorigin 前端 加载 优化 资源 属性

为了优化我们公司网站的性能,我最近引入了浏览器预加载技术(Preload)。

这项技术可以显著减少级联情况,提高资源加载的并行度,从而加速网站的加载速度。

Preload的原理

Preload的原理是在浏览器解析HTML文档时,提前加载页面所需的关键资源,如样式表、脚本文件和字体等。

通过预加载这些关键资源,浏览器能够在页面加载时更快地获取所需资源,从而加速页面的渲染过程。下面是一个简单的预加载示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Optimized Website with Preload</title>
    
    <!-- Preload CSS -->
    <link rel="preload" href="styles.css" as="style">
    
    <!-- Preload JavaScript -->
    <link rel="preload" href="script.js" as="script">
    
    <!-- Preload font -->
    <link rel="preload" href="font.woff2" as="font" type="font/woff2">
    
    <!-- Normal CSS -->
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <!-- Content of the webpage -->
    
    <!-- Normal JavaScript -->
    <script src="script.js"></script>
</body>
</html>

 

crossorigin属性和as属性的可选值

crossorigin属性:该属性用于指定资源的跨域设置。可选值包括:

  • anonymous:表示资源会以匿名身份请求,不会包含凭据信息(如 cookies、HTTP 认证等)。通常用于不需要用户身份验证的公共资源。
  • use-credentials:表示资源会以凭据身份请求,浏览器会发送包含凭据信息的请求。适用于需要用户身份验证的私有资源。

as属性:该属性用于指定资源的类型。可选值包括:

  • audio:音频文件
  • document:HTML 文档
  • font:字体文件
  • image:图像文件
  • script:JavaScript 文件
  • style:样式表文件
  • video:视频文件
  • fetch:其他类型的网络请求

 

正确属性的重要性

如果设置错误的crossorigin和as属性,将导致预加载失效。

例如,如果预加载的资源是跨域的而没有设置正确的crossorigin,浏览器可能会拒绝加载该资源。

同样,如果as属性设置错误,告诉浏览器预加载的资源类型与实际类型不符,也会导致预加载失效。

 

效果

下面是优化前后的对比,可以看到优化后的并行度提升了很多

         

 

标签:preload,Preload,浏览器,crossorigin,前端,加载,优化,资源,属性
From: https://www.cnblogs.com/chenyishi/p/18086748

相关文章

  • Python众筹项目结果预测:优化后随机森林分类器可视化
    全文链接:https://tecdat.cn/?p=35412原文出处:拓端数据部落公众号分析师:YiChenXia随着信息技术的飞速发展,众筹作为一个互联网金融的子领域已经成为个人和小企业主筹集资金支持梦想的创新渠道。无论对于众筹发起者还是众筹平台而言,如何利用历史数据去准确预测一个众筹项目的成功......
  • 前端学习-vue视频学习010-生命周期
    尚硅谷视频教程组件的生命周期创建挂载更新销毁在特定的时期调用特定的函数,即生命周期vue2的生命周期4个周期,对应8个钩子(生命周期函数)创建:创建前、创建完毕挂载:挂载前、挂载完毕更新:更新前、更新完毕销毁:销毁前、销毁完毕<script>exportdefault{//eslint......
  • 前端学习-html
    1基础知识1.1BS架构和CS架构CS架构是客户端/服务器,需要安装客户端,例如手机app,PC应用BS架构是浏览器/服务器,适合功能简单的开发1.2浏览器内核浏览器内核渲染前端页面(将前端代码展示出来)1.3推荐网站https://developer.mozilla.org/zh-CN/2HTML标签2.1分类(1)按照结构......
  • 前端基础之JavaScriptDOM和BOM
    一、JavaScript的组成JavaScript的实现包括以下3个部分:ECMAScript(核心)描述了JS的语法和基本对象文档对象模型(DOM)处理网页内容的方法和接口浏览器对象模型(BOM)与浏览器交互的方法和接口核心(Core):核心部分包括语言的基本语法、数据类型、控制结构等。这些......
  • AJAX 前端开发利器:实现网页动态更新的核心技术
    AJAXAJAX是开发者的梦想,因为你可以:在不重新加载页面的情况下更新网页在页面加载后请求来自服务器的数据在页面加载后接收来自服务器的数据在后台向服务器发送数据HTML页面<!DOCTYPEhtml><html><body><divid="demo"><h2>让AJAX更改这段文字</h2><buttontype=......
  • 前端基础之原生js事件绑定案例
    原生js事件绑定开关灯案例<script><divid="d1"class="c1bg_greenbg_red"></div><buttonid="d2">变色</button><script>letbtnEle=document.getElementById('d2')letdivEle=docum......
  • SpringBoot整合Redis:Redis优化解决数据一致性问题
    ......
  • Vue3、typeit、vue3-markdown-it仿文心一言前端代码对接大模型
    相关依赖"typeit":"^8.8.3","vue3-markdown-it":"^1.0.10",示例效果核心代码<template> <a-modal class="modal-container" style="min-width:1400px;" :visible="modalState.visible"......
  • 【前端Vue】Vue3+Pinia小兔鲜电商项目第2篇:什么是pinia,1. 创建空Vue项目【附代码文档
    全套笔记资料代码移步:前往gitee仓库查看感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~全套教程部分目录:部分文件图片:什么是piniaPinia是Vue的专属状态管理库,可以实现跨组件或页面共享状态,是vuex状态管理工具的替代品,和Vuex相比,具备以下优势提供更加简单的API(......
  • 描述我处理过的一个性能优化问题&如何实现Web应用的负载均衡?
    一、描述我处理过的一个性能优化问题在我过去的工作经历中,我遇到并成功解决了一个性能优化问题。这个问题发生在一个电商网站的后台管理系统中,当管理员尝试查询大量订单数据时,系统的响应速度非常慢,有时甚至导致页面超时或崩溃。为了解决这个问题,我首先进行了性能分析。通过查......