canvas前端展示_Web前端如何进行性能优化?

da24d6576dfef08f821fff24ab6b540b.png

1. 减少HTTP请求

合并图片(css sprites),合并CSS和JS文件(只有css可以合并到js里,采用AMD模式,把css require 到js文件里,加载这个js的页面就拥有这套css了。用require.js的话需要相应的css插件,用webpack进行打包需要安装css-loader 等相关loader。当然,如果一个好的前端架构的话,这些问题应该都在初期考虑完毕,而不是上线以后。);图片较多的页面也可以使用 lazyLoad 等技术进行优化。

2. 减少页面的重绘和重排

通过设置style属性改变节点的样式,每设置一次都会导致一次reflow,所以最好通过设置class的方式去改变。有动画效果的元素,它的position属性应当设为fixed或absolute,这样不会影响其它元素的布局;如果功能需求上不能设置position为fixed或absolute,那么就权衡速度的平滑性。

3. 减少对DOM的操作

1. 查询时可将其赋值给局部变量。

2. 减少循环对DOM操作,DOM元素中循环的性能开销,在循环结束时一次性写入。

4. JSON格式来进行数据交换

JSON是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript原生格式,这意味着在 JavaScript 中处理 JSON数据不需要任何特殊的 API 或工具包。

5. 使用开销比较小的css选择符

比如id选择和类选择器

6.使用CDN加速(内容分发网络):

各大云服务提供商都有CDN服务,如:阿里云、腾讯云、百度云,七牛 等。

7.精简CSS和JS文件:

css的话可以使用预处理语言sas或者less,利用变量可以减少代码使用量,也更易维护和扩展。js的话可以封装一些重复使用的函数方法,用最高效的代码解决业务逻辑,比如判断可以三元运算符,函数还可以使用箭头函数,表单验证时用正则,赋值字符串变量时用字符串模板等等,不过这些大多是es6最新语法,需要对js有较深的理解才行。当然,也可以用压缩代码的方式简单粗暴的精简代码量

8. 压缩图片

常用的压缩方法:

1.图片上传到阿里云或者七牛云,云端会压缩图片;

2.后端对图片尺寸大小进行压缩,比如tinyong等接口,都可以完成,但压缩时间很久;

3.前端用Canvas作为媒介压缩图片;

Canvas压缩图片的重要知识点:

· 将file对象转成Data URL;

· 使用canvas对图片进行缩放,从而达到压缩质量的目的;

· 将canvas元素所展示的图片再次转换成Data URL;

· 最后把Data URL转成blob;

9. 注意控制cookie的大小和污染

因为Cookie是本地的磁盘文件,每次浏览器都会去读取相应的Cookie,所以建议去除不必要的Coockie,使Coockie体积尽量小以减少对用户响应的影响; 使用Cookie跨域操作时注意在适应级别的域名上设置coockie以便使子域名不受其影响; Cookie是有生命周期的,所以请注意设置合理的过期时间,合理地Expire(终止)时间和不要过早去清除coockie,都会改善用户的响应时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值