加载优化:1、合并css、JavaScript
     2、合并小图片,使用精灵图
     3、缓存一切可缓存的资源
     4、使用长cache
     5、使用外联式引用css、JavaScript
     6、压缩HTML、CSS、JavaScript
     7、使用Gzip压缩内容
     8、使用首屏加载
     9、使用按需加载
     10、使用滚屏加载
     11、通过Media Query加载
     12、增加loading进度条
     13、减少cookie
     14、避免重定向
     15、异步加载第三方资源
图片优化:1、使用智图 http://zhitu.tencent.com/
     2、使用css3、svg、iconfont代替图片
     3、使用srcset
     4、webP优于jpg
     5、png8优于gif
     6、首次加载不超过1014kb(基于3秒联通平均网速所能达到值)
     7、图片不宽于640

css优化:1、css写在头部,JavaScript写在尾部或异步
      2、不要让link、script、img、iframe等标签出现空的src和href
      3、尽量避免重设图片大小
      4、图片尽量避免使用dataUrl
      5、尽量避免写标签属性
      6、避免css表达式
      7、清除空的css
      8、正确使用display的属性
      9、不滥用float
      10、不滥用web字体
      11、不声明过多的font-size
      12、值为0的时候不需要任何单位
      13、标准化各种浏览器的前缀
      14、避免冗长的选择符

脚本优化:1、减少重绘和回流
     2、缓存DOM选择与计算
     3、尽量使用事件代理,避免批量绑定事件
     4、尽量使用ID选择器
     5、使用touchstart、touchend代替click
     6、合理使用节流和防抖
     7、避免不必要的跳转,合理取消浏览器默认事件
     8、避免404
     9、配置ETags
     10、少用全局变量,尽量用局部变量
        11、多个变量或常量合并声明

渲染优化:1、HTML使用viewport
        2、减少DOM节点
        3、尽量使用css3动画
     4、合理使用requestAnimationFrame动画代替setTimeout
     5、适当使用canvas动画
     6、Touchmove、Scroll事件会导致多次渲染
     7、使用css3 transitions、css3 3D transforms、Opacity、Canvas、WebGL、Video来触发GPU渲染

总结一下:

  使用正确的盒子嵌套,避免空标签,空属性
  避免冗长的选择器
  标准化各种浏览器的前缀
  使用精灵图,减少与服务器请求
  避免使用标签属性
  值为0的时候不需要带单位
  尽量不要重设图片尺寸
  webP优于jpg,png8优于gif
  使用节流和防抖
  使用预加载和懒加载,异步加载第三方资源
  使用压缩工具,合并压缩HTML、css、JavaScript
  使用长连接
  减少cookie
  使用事件委托
  避免不必要的跳转,合理使用取消浏览器默认事件
  少用全局变量,多用局部变量,多个变量或常量可以合并声明
  合理使用requestAnimationFrame动画代替setTimeout

前端性能优化&&网站性能优化的更多相关文章

  1. 使用Minify来优化网站性能

    Minify 是用PHP5开发的应用,通过遵循一些Yahoo的优化规则来提高网站的性能.它会合并多个CSS或者JavaScript文件,移除一些不必要的空格和注释,进行gzip压缩,并且会设置浏览器的 ...

  2. NTOPNG,用来平时优化网站性能,用处大的

    最近考察一下NTOPNG和NGX-REQ模块,看哪个对网站优化性能用户更大... 参考URL: http://www.68idc.cn/help/jiabenmake/qita/20150109164 ...

  3. 基于Yahoo网站性能优化的34条军规及自己的见解

    1.尽量减少HTTP请求次数 终端用户响应的时间中,有80%用于下载各项内容,这部分时间包括下载页面中的图像.样式表.脚本.Flash等.通过减少页面中的元素可以减少HTTP请求的次数,这是提高网页速 ...

  4. asp.net网站性能优化2则

    摘要:Web服务器的性能优化有很多资料介绍了,多台主机负载均衡,查询结果的多级缓 存,数据库索引优化等都是常见的优化手段.随着后端优化空间越来越小,现在越来越多 的网站更注重前端性能的优化,就是浏览器 ...

  5. 网站性能优化— WebP 全方位介绍

    谈到优化网站性能时,主要目标之一就是减少要发送到浏览器的数据量(即 payload).而当前,图片通常是页面构成中最耗费流量的部分,因此降低图片的大小是一个最为有效的优化网页前端性能的办法. 有很多工 ...

  6. Yahoo网站性能优化的34条军规

    1.尽量减少HTTP请求次数 终端用户响应的时间中,有80%用于下载各项内容,这部分时间包括下载页面中的图像.样式表.脚本.Flash等.通过减少页面中的元素可以减少HTTP请求的次数,这是提高网页速 ...

  7. 网站性能优化小结和spring整合redis

    现在越来越多的地方需要非关系型数据库了,最近网站优化,当然从页面到服务器做了相应的优化后,通过在线网站测试工具与之前没优化对比,发现有显著提升. 服务器优化目前主要优化tomcat,在tomcat目录 ...

  8. 不修改代码就能优化ASP.NET网站性能的一些方法

    阅读目录 开始 配置OutputCache 启用内容过期 解决资源文件升级问题 启用压缩 删除无用的HttpModule 其它优化选项 本文将介绍一些方法用于优化ASP.NET网站性能,这些方法都是不 ...

  9. 不修改代码就能优化ASP.NET网站性能的一些方法 [转]

    不修改代码就能优化ASP.NET网站性能的一些方法 阅读目录 开始 配置OutputCache 启用内容过期 解决资源文件升级问题 启用压缩 删除无用的HttpModule 其它优化选项 本文将介绍一 ...

随机推荐

  1. 集成Azure DevOps Server(TFS) 与微软Teams

    1.概述 Microsoft Teams是Office 365中团队协作的中心.将团队的所有聊天.会议.文件和应用程序放在一个位置.软件开发团队可以在一个专门的协作中心中即时访问他们所需的所有内容,T ...

  2. LeetCode 160: 相交链表 Intersection of Two Linked Lists

    爱写Bug(ID:iCodeBugs) 编写一个程序,找到两个单链表相交的起始节点. Write a program to find the node at which the intersectio ...

  3. Appium swipe实现屏幕滑动

    在 Appium 中提供 swipe() 方法来模拟用户滑动屏幕. swipe() 实现过程 是先通过在屏幕上标记两个坐标,然后再从开始坐标移动到结束坐标. 先看下 swipe 方法定义: def s ...

  4. 如何在 Knative 中部署 WebSocket 和 gRPC 服务?

    作者 | 冬岛  阿里云容器平台工程师 导读:虽然说 Knative 默认就支持 WebSocket 和 gRPC,但在使用中会发现,有时想要把自己的 WebSocket 或 gRPC 部署到 Kna ...

  5. ASP.NET Core launchsettings.json 文件

    ASP.NET Core launchsettings.json 文件 在本节中,我们将讨论在 ASP.NET Core 项目中launchsettings.json文件的重要性. launchset ...

  6. 【随笔】CLR:.net的类型,内部到底长啥样?

    前言 一提到.net的类型,首当其冲的就是“引用类型”.“值类型”:我们在面试中,也会经常被问“来说说值类型和引用类型....”,这时候第一反应就是:“哎呀,这还不简单,值类型是传递的值的copy,值 ...

  7. python3之二年级上数学练习题生成

    二年级上数学练习题生成 作为一个家长不容易啊 1 #coding:utf-8 2 import random 3 #小学二年级上数学练习(100以内加减乘) 4 #生成的题数 5 count = 50 ...

  8. Celery 异步队列

    Celery Celery是一个功能完备即插即用的异步任务队列系统.它适用于异步处理问题,当发送邮件.或者文件上传, 图像处理等等一些比较耗时的操作,我们可将其异步执行,这样用户不需要等待很久,提高用 ...

  9. 钉钉企业内部H5微应用开发

    企业内部H5微应用开发 分为 服务端API和前端API的开发,主要涉及到进入应用免登流程和JSAPI鉴权. JSAPI鉴权开发步骤: 1.创建H5微应用 登入钉钉开放平台(https://open-d ...

  10. CTF必备技能丨Linux Pwn入门教程——栈溢出基础

    这是一套Linux Pwn入门教程系列,作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的一些题目和文章整理出一份相对完整的Linux Pwn教程. 课程回顾>>Linux ...