Table of Contents
优化方向
优化的方法
提升页面加载速度
提升代码运行速度
JS
CSS
HTML
工具
Home Web Front-end HTML Tutorial Web 前端性能优化概要_html/css_WEB-ITnose

Web 前端性能优化概要_html/css_WEB-ITnose

Jun 24, 2016 am 11:15 AM

优化方向

  • 页面加载速度。
  • 代码运行速度。

优化的方法

  1. 指定优化目标。目标需要是具体的,可度量的。比如,在 50Kb 每秒的网络环境下,加载首屏所用时间少于 2 秒。
  2. 从大头去优化。如果提高页面加载速度,考虑优化加载时间最长的资源。如果要提高代码运行速度,考虑优化最耗时的操作。
  3. 制定和实施优化策略。
  4. 验证。

提升页面加载速度

  • HTTP 的缓存。
    • 强缓存。
    • 协商缓存。
  • 减少 HTTP 发送内容的大小。
    • 服务器端启用压缩服务,如用 gzip。
    • 文件内容的压缩。
    • 删除无用的代码。
    • 用没有 Cookie 的域来放静态资源。
    • 选择合适的图片格式。考虑用 Webp 格式的图片。
  • 减少 HTTP 数量。
    • 多个资源文件合并一个。JS,CSS,图片(小图标可以用图片精灵 或 图标字体)。
    • 首屏的一些 CSS 可以考虑内联。
    • 体积比较小的图片可以考虑内联。
    • 避免空的 src 和 href。
  • 提升资源下载速度。
    • 使用 CDN。
    • 无阻塞加载 Script。
  • 减少 DNS 查找时间。
    • 减少域名数量。
  • 避免重定向。
  • 其他。
    • CSS 写在 中,JS 写在 前。

提升代码运行速度

JS

  • 优化耗时的循环。
  • 缓存一些耗性能的中间结果。
  • 将耗时的任务交给 worker 来做。
  • 防止内存泄漏。
  • 算法改进。

CSS

  • 如果需要动态更改CSS样式,尽量采用触发 reflow 次数较少的方式。
  • 选择器优化。
  • 避免使用 CSS 表达式。

HTML

  • 尽量不要用 iframe。
  • 减少 DOM 数量。

工具

  • YSlow 分析网站,提出提升网站性能的建议。
  • 阿里测 网站在不同地区的访问情况。
  • Chrome 开发工具中的 Profiles 和 Timeline。
  • jsPerf JS 执行效率测试。
  • Benchmark.js 同 jsPerf。

本文遵守创作共享CC BY-NC-SA 4.0协议网络平台如需转载必须与本人联系确认。

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Is HTML easy to learn for beginners? Is HTML easy to learn for beginners? Apr 07, 2025 am 12:11 AM

HTML is suitable for beginners because it is simple and easy to learn and can quickly see results. 1) The learning curve of HTML is smooth and easy to get started. 2) Just master the basic tags to start creating web pages. 3) High flexibility and can be used in combination with CSS and JavaScript. 4) Rich learning resources and modern tools support the learning process.

What is the purpose of the <progress> element? What is the purpose of the <progress> element? Mar 21, 2025 pm 12:34 PM

The article discusses the HTML &lt;progress&gt; element, its purpose, styling, and differences from the &lt;meter&gt; element. The main focus is on using &lt;progress&gt; for task completion and &lt;meter&gt; for stati

The Roles of HTML, CSS, and JavaScript: Core Responsibilities The Roles of HTML, CSS, and JavaScript: Core Responsibilities Apr 08, 2025 pm 07:05 PM

HTML defines the web structure, CSS is responsible for style and layout, and JavaScript gives dynamic interaction. The three perform their duties in web development and jointly build a colorful website.

What is the purpose of the <datalist> element? What is the purpose of the <datalist> element? Mar 21, 2025 pm 12:33 PM

The article discusses the HTML &lt;datalist&gt; element, which enhances forms by providing autocomplete suggestions, improving user experience and reducing errors.Character count: 159

What is the purpose of the <meter> element? What is the purpose of the <meter> element? Mar 21, 2025 pm 12:35 PM

The article discusses the HTML &lt;meter&gt; element, used for displaying scalar or fractional values within a range, and its common applications in web development. It differentiates &lt;meter&gt; from &lt;progress&gt; and ex

What is an example of a starting tag in HTML? What is an example of a starting tag in HTML? Apr 06, 2025 am 12:04 AM

AnexampleofastartingtaginHTMLis,whichbeginsaparagraph.StartingtagsareessentialinHTMLastheyinitiateelements,definetheirtypes,andarecrucialforstructuringwebpagesandconstructingtheDOM.

Understanding HTML, CSS, and JavaScript: A Beginner's Guide Understanding HTML, CSS, and JavaScript: A Beginner's Guide Apr 12, 2025 am 12:02 AM

WebdevelopmentreliesonHTML,CSS,andJavaScript:1)HTMLstructurescontent,2)CSSstylesit,and3)JavaScriptaddsinteractivity,formingthebasisofmodernwebexperiences.

Gitee Pages static website deployment failed: How to troubleshoot and resolve single file 404 errors? Gitee Pages static website deployment failed: How to troubleshoot and resolve single file 404 errors? Apr 04, 2025 pm 11:54 PM

GiteePages static website deployment failed: 404 error troubleshooting and resolution when using Gitee...

See all articles