前端优化,包括css,jss,img,cookie
前端优化,来自某懒观看麦子学院视频的笔记。
- 尽可能减少HTTP的请求数
- 使用CDN
- 添加Expirs头,或者Cache-control
- Gzip组件压缩文件内容
- 将CSS放在页面上方
- 将脚本放到页面下方
- 减少CSS中Expressions:只在IE中使用,在css中通过js动态赋值
- 将javaScript和CSS独立成外部文件
- 减少DNS查询
- 压缩javaScript和CSS
- 避免重定向
- 移除重复的脚本
- 配置实体标签(ETags):客户端请求文件,服务器读取文件标签,如果未修改就直接返回304.
- 使用AJAX缓存
- 避免空的src href属性
- 尽早地刷新缓冲
- 使用get来完成ajax
- 延迟加载:分批加载
- 预先加载:客户端缓存js文件等
- 减少DOM元素
- 避免404页面
- 高效缩写CSS
- bigpipe技术,分层显示,先出框架,再加载框架内的物体。
- 使用替代@import
- 避免使用滤镜:只在旧版IE中使用,修正图片问题
- CSS无图片技术:css image(css引入背景图片比较占资源,如果用css绘制类似小三角这样的简单图片,则大大减负)
- smush.it、转png格式压缩图片大小
- 合并和拆分图片:合并:CSS sprites 将小图片合成大图片,再用背景定位显示图标。拆分:多线程拆分后下载。
- 多域名下载图片
- IE6缓存背景图片
- 预加载图片
- 减小cookie的体积,移除不必要的cookie(注意在适应级别上设置cookie,以便子域名不受影响),设置cookie域
- 静态资源使用无cookie域名
- 设置合理的cookie过期时间
- 优化js循环语句。将length属性抽取至判断语句之外。for(in)效率最差,for(;;)=while();
- js使用闭包进行缓存
- js不再循环中创建函数。改为抽取函数后调用
- js手动消除引用,告诉垃圾回收器。不推荐delete函数,推荐使用=null的方法。
- 慎用js全局对象,因为不会被垃圾回收
- js绑定的事件不需要后取消绑定。推荐用on,防止多次绑定
- 慎用js闭包,可能会导致内存泄漏
- js少用eval,特别是在循环内。json[i][变量]=1这样的语句不要使用eval
- 使用json格式初始化js的对象和数组。而不是new一个。前者引擎直接解释,后者调用构造器。
- js使用Math.floor(),“”+的方示进行类型转换。Math是内部对象
- js使用正则处理字符串比js循环要快,但构建正则对象比较耗时,尽量抽取后复用。
- 存储时使用对象还是数组。键值对中值多样,使用对象。其他使用数组
- 数组中对象尽量一致
- 缓存ajax.函数缓存。h5中的sessionStorage(会话级)和localStorage(持久化)
- bool值的判定,通过率越小越往前。
- 工具yslow、pagespeed
前端优化,包括css,jss,img,cookie的更多相关文章
- [转] Web前端优化之 CSS篇
原文链接: http://lunax.info/archives/3097.html Web 前端优化最佳实践第四部分面向 CSS.目前共计有 6 条实践规则.另请参见 Mozilla 开发者中心的文 ...
- 前端优化:css雪碧图实践应用详解
一 为什么需要使用雪碧图 二CSS雪碧图原理及应用 前端是接近用户体验的一个项目组成部分,合适的优化能够大大减少网页响应时间,合理的资源加载自然成为了工作中的要务,现在就结合实例讲解到底什么是css雪 ...
- flask前端优化:css/js/html压缩
1.先压缩再传输,可以减少传输的大小,减少传输时间,但是压缩需要时间,所以最终页面显示是快了还是慢了,需要比较 2.先看html压缩模块:pip install Flask-HTMLmin 压缩前:大 ...
- 【前端优化之拆分CSS】前端三剑客的分分合合
几年前,我们这样写前端代码: <div id="el" style="......" onclick="......">测试&l ...
- 转:浅谈CSS在前端优化中一些值得注意的关键点
前端优化工作中要考虑的元素多种多样,而合理地使用CSS脚本可以在很大程度上优化页面的加载性能,以下我们就来浅谈CSS在前端优化中一些值得注意的关键点: 当谈到Web的“高性能”时,很多人想到的是页面加 ...
- [转] Web前端优化之 Cookie篇
原文链接: http://lunax.info/archives/3095.html Web 前端优化最佳实践第三部分面向 Cookie .目前只有 2 条实践规则. 1. 缩小 Cookie (Re ...
- [转][前端优化]使用Combres合并对js、css文件的请求
本文转自:http://www.cnblogs.com/parry/archive/2011/01/28/Reduce_Http_Request_Using_Combres_For_Js_Css.ht ...
- 【转】yahoo前端优化军规
雅虎给出了前端优化的34条法则(包括Yslow规则22条) 详细说明,下载转发 ponytail 的译文(来自帕兰映像). Minimize HTTP Requests 减少http请求 图片.css ...
- Web前端优化最佳实践及工具集锦
Web前端优化最佳实践及工具集锦 发表于2013-09-23 19:47| 21315次阅读| 来源Googe & Yahoo| 118 条评论| 作者王果 编译 Web优化Google雅虎P ...
随机推荐
- MySQL数据库:运算符
运算符 比较运算符: > 大于 < 小于 >= 大于等于 <= 小于等于 = 等于 != 不等于 范围运算符: between...and...(包含边界值) 类似于 > ...
- BITCTF-MISC
MISC 以此笔记来记录本菜鸡做misc的历程 签到85 首先看题 提示base85 打开kali,使用python的base64库来解码(内有base85解码) (其实只要输python3即可 我还 ...
- 在浏览器地址栏输入www.baidu.com到打开百度首页这期间到底发生了什么?
刚才无意间看到这么一个面试题,觉得有点意思,我想从五层网络模型的角度说说我的看法. 1.首先通过DNS域名系统向域名服务器发送域名解析请求来得到百度的IP地址39.156.69.79:2.系统通过AR ...
- CentOS 7怎么删除mariadb
参考链接:https://www.cnblogs.com/ytkah/p/10876824.html
- PHP—— 商品物流实时查询接口 (快递100API对接)
PHP后台 与前端 对接商品物流信息的接口 运用的 快递100的API接口 public function getExpress() { $user_id = input('post.user_ ...
- UI 自动化框架设想
测试框架选型: 首先,通过利用TestNG结合csv的使用,将测试用例数据转化为测试代码中的数据,减少了测试人员录入数据和准备数据的工具: 再次,通过对appium的封装,按照面向对象的思想将测试中用 ...
- Java学习笔记之面向对象、static关键字
一周Java学习总结 今天就总结理清一下关于面向对象和面向过程的程序设计的一些不同特点,以及讲下static关键字. 面向对象 现在接触的Java是面向对象的,现在的程序开发几乎都是以面向对象为基础的 ...
- Customize the View Items Layout 自定义视图项目布局
In this lesson, you will learn how to customize the default editor layout in a Detail View. For this ...
- 记录一次netcore3.0 code first使用迁移命令报错问题
环境描述:macOS .vscode .netcore3.0 迁移工具:Microsoft.EntityFrameworkCore.Tools 遇到的问题: Could not execute bec ...
- JavaScript 运动(加速度运动,弹性运动)
加速度运动(加速度不变的加速运动) function addSpeed(dom){ var a = 5; timer = setInterval(function(){ speed = speed + ...