网页加载速度优化技巧的方案详解

 更新时间:2023年05月16日 10:30:02   作者:RZeeY  
这篇文章主要为大家介绍了网页加载速度优化技巧的方案详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>

引言

由于最近工作需求,需要极大优化用户的加载速度。

下面我就从网络请求优化的方面进行一次总结吧。😀

部分图片采用雪碧图

雪碧图也叫CSS精灵, 是一种CSS图像合成技术,将多张图片何为一张从而减少网络请求。

如b站的图标:https://s1.hdslb.com/bfs/stat...

部分图片采用svg

SVG 是使用 XML 来描述二维图形和绘图程序的语言。

SVG 与 JPEG 和 GIF 图像比起来,尺寸更小,且可压缩性更强,加载速度更快。并且 SVG 可伸缩,图像可在任何的分辨率下被高质量地打印。

如这个loading图标:

<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="margin: auto; background: rgb(255, 255, 255); display: block; shape-rendering: auto;" width="200px" height="200px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid">
<g transform="rotate(0 50 50)">
  <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="#fe718d">
    <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.9166666666666666s" repeatCount="indefinite"></animate>
  </rect>
</g><g transform="rotate(30 50 50)">
  <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="#fe718d">
    <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.8333333333333334s" repeatCount="indefinite"></animate>
  </rect>
</g><g transform="rotate(60 50 50)">
  <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="#fe718d">
    <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.75s" repeatCount="indefinite"></animate>
  </rect>
</g><g transform="rotate(90 50 50)">
  <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="#fe718d">
    <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.6666666666666666s" repeatCount="indefinite"></animate>
  </rect>
</g><g transform="rotate(120 50 50)">
  <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="#fe718d">
    <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.5833333333333334s" repeatCount="indefinite"></animate>
  </rect>
</g><g transform="rotate(150 50 50)">
  <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="#fe718d">
    <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.5s" repeatCount="indefinite"></animate>
  </rect>
</g><g transform="rotate(180 50 50)">
  <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="#fe718d">
    <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.4166666666666667s" repeatCount="indefinite"></animate>
  </rect>
</g><g transform="rotate(210 50 50)">
  <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="#fe718d">
    <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.3333333333333333s" repeatCount="indefinite"></animate>
  </rect>
</g><g transform="rotate(240 50 50)">
  <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="#fe718d">
    <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.25s" repeatCount="indefinite"></animate>
  </rect>
</g><g transform="rotate(270 50 50)">
  <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="#fe718d">
    <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.16666666666666666s" repeatCount="indefinite"></animate>
  </rect>
</g><g transform="rotate(300 50 50)">
  <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="#fe718d">
    <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.08333333333333333s" repeatCount="indefinite"></animate>
  </rect>
</g><g transform="rotate(330 50 50)">
  <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="#fe718d">
    <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="0s" repeatCount="indefinite"></animate>
  </rect>
</g>
<!-- [ldio] generated by https://loading.io/ --></svg>

部分图片转 base64 编码

Base64就是一种基于64个可打印字符来表示二进制数据的方法。

将部分图片转为 base64 编码可减少网络请求、图片服务器压力利于页面加载。

压缩 html、css、js 等静态资源

编写代码时我们常使用缩进和换行,这样在无形中增加了代码文件体积。

在相同的网络情况洗,我们的代码体积越小,用户在访问我们的网页时加载速度就更快。

对于 html、css 在发布到线上版本前,我们可将代码所有的缩进和换行删除,从而降低代码体积。如“知乎”:

对于 js 在发布到线上版本前,我们可将代码所有的缩进和换行删除的同时,将所有变量命名和方法名替换为更简短的单词,从而降低代码体积。如“知乎”:

CDN

CDN(Content Delivery Network)是指内容分发网络,也称为内容传送网络,这个概念始于1996年,是美国麻省理工学院的一个研究小组为改善互联网的服务质量而提出的。

我们将html、css、js、图标、字体、视频、音乐等静态资源部署到cdn上的各个节点,可极大优化在不同地区、不同网络运营商用户的网络请求速度。

Gzip

HTTP 协议上的 Gzip 编码是一种用来改进 WEB 应用程序性能的技术。大流量的 WEB 站点常常使用 Gzip 压缩技术来让用户感受更快的速度。

使用 Gzip 压缩可将文件大小压缩将近三分之二的大小:

以上就是网页加载速度优化技巧的方案详解的详细内容,更多关于网页加载速度优化的资料请关注脚本之家其它相关文章!

相关文章

  • 原生javascript实现图片无缝滚动效果

    原生javascript实现图片无缝滚动效果

    这篇文章主要介绍了原生javascript实现图片无缝滚动效果的相关资料,需要的朋友可以参考下
    2016-02-02
  • 学习javascript文件加载优化

    学习javascript文件加载优化

    这篇文章主要为大家详细介绍了javascript文件加载优化,三种方式实现js文件加载优化,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • js数组高阶函数之includes()方法总结

    js数组高阶函数之includes()方法总结

    JS的数组是一种特殊的对象,其特点是在值的列表中按照顺序存放值,在 JS中,数组是由中括号 [] 括起来的数值序列,本篇文章给大家介绍js数组高阶函数——includes()方法,感兴趣的朋友一起看看吧
    2023-12-12
  • javascript中的五种基本数据类型

    javascript中的五种基本数据类型

    在javascript中申明变量使用的关键字都是var,这点与其他的编程语言不尽相同,但是javascript亦含有五种基本的数据类型(也可以说是简单数据类型),它们分别是:Undefined,Null,Boolean,Number和String。还含有一种复杂数据类型—Object。这里我们不谈复杂数据类型
    2015-08-08
  • JS实现的JSON数组去重算法示例

    JS实现的JSON数组去重算法示例

    这篇文章主要介绍了JS实现的JSON数组去重算法,结合实例形式分析了javascript针对json数组的遍历、判断实现去重复功能相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • javascript showModalDialog,open取得父窗口的方法

    javascript showModalDialog,open取得父窗口的方法

    showModalDialog,open取得父窗口的代码,需要的朋友可以参考下。
    2010-03-03
  • JavaScript删除数组元素的方法指南

    JavaScript删除数组元素的方法指南

    作为一名前端开发工程师,我们经常需要在 JavaScript 中操作数组,其中比较常见的操作便是对数组进行元素的添加、删除和修改。在这篇文章中,我会详细介绍JS中所有删除数组元素的方法,希望对大家有所帮助
    2023-05-05
  • js中对象和面向对象与Json介绍

    js中对象和面向对象与Json介绍

    今天小编就为大家分享一篇关于js中对象和面向对象与Json介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • JS右下角弹窗的两种实现方法案例解析

    JS右下角弹窗的两种实现方法案例解析

    在JavaScript中右下角弹出框通常是通过浏览器的通知API(Notification API)来实现的,或者是使用一些前端框架/库创建的自定义弹窗,这篇文章主要介绍了JS右下角弹窗的两种实现方法,需要的朋友可以参考下
    2025-08-08
  • JS实现网站吸顶条

    JS实现网站吸顶条

    这篇文章主要为大家详细介绍了JS制作网站吸顶条,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01

最新评论