优化方向
- 页面加载速度。
- 代码运行速度。
优化的方法
- 指定优化目标。目标需要是具体的,可度量的。比如,在 50Kb 每秒的网络环境下,加载首屏所用时间少于 2 秒。
- 从大头去优化。如果提高页面加载速度,考虑优化加载时间最长的资源。如果要提高代码运行速度,考虑优化最耗时的操作。
- 制定和实施优化策略。
- 验证。
提升页面加载速度
- 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协议网络平台如需转载必须与本人联系确认。

本文讨论了HTML< Progress>元素,其目的,样式和与< meter>元素。主要重点是使用< progress>为了完成任务和LT;仪表>对于stati

本文讨论了html< datalist>元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

本文讨论了HTML< meter>元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了< meter>从< progress>和前

本文讨论了视口元标签,这对于移动设备上的响应式Web设计至关重要。它解释了如何正确使用确保最佳的内容缩放和用户交互,而滥用可能会导致设计和可访问性问题。

本文解释了HTML5< time>语义日期/时间表示的元素。 它强调了DateTime属性对机器可读性(ISO 8601格式)的重要性,并在人类可读文本旁边,增强Accessibilit

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

本文讨论了< iframe>将外部内容嵌入网页,其常见用途,安全风险以及诸如对象标签和API等替代方案的目的。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Dreamweaver CS6
视觉化网页开发工具

WebStorm Mac版
好用的JavaScript开发工具