《高性能网站建设指南》笔记
Posted HelloHello233
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《高性能网站建设指南》笔记相关的知识,希望对你有一定的参考价值。
js文件什么时候合并?
css和js到底是内联还是外部引入?
前者速度快,但没办法缓存,没办法多页面共用;后者速度慢,需要额外的请求,但可以缓存,多页面共享。
两全其美的办法【内联+预加载+cookie标志判断】:用户第一次打开网页时,没有cookie,服务器返回包含内联css和js的页面和cookie,速度很快,页面空闲下来后执行预加载;第二次打开有cookie了,而且第一次执行了预加载,现在可以返回一个带外部文件的html了,因为之前预加载了,所以速度很快。注意,第一次预加载的时候,要处理内联代码和预加载的代码,防止两者冲突。解决冲突的方式如下(主要是处理js,因为css重复的话没问题,但js重复执行的话可能会造成问题):
1.创建一个不可见的iframe,里面是空白。iframe标签onload之后,往里面的dom添加script标签或者link标签,因为iframe内外环境是隔离的,所以不会有影响
2.使用preload、prefetch等属性
3.最麻烦的方式,处理冲突的逻辑嵌入到业务逻辑中。标志一个全局变量,来判断代码有没有执行过。
以上是关于《高性能网站建设指南》笔记的主要内容,如果未能解决你的问题,请参考以下文章
高性能网站建设进阶指南:Web开发者性能优化最佳实践 pdf扫描版
高性能网站建设进阶指南:Web开发者性能优化最佳实践 pdf扫描版[20MB]