《高性能网站建设指南》笔记
2021-05-23 08:31
标签:pre 业务逻辑 属性 可见 str html 包含 全局变量 判断 前者速度快,但没办法缓存,没办法多页面共用;后者速度慢,需要额外的请求,但可以缓存,多页面共享。 两全其美的办法【内联+预加载+cookie标志判断】:用户第一次打开网页时,没有cookie,服务器返回包含内联css和js的页面和cookie,速度很快,页面空闲下来后执行预加载;第二次打开有cookie了,而且第一次执行了预加载,现在可以返回一个带外部文件的html了,因为之前预加载了,所以速度很快。注意,第一次预加载的时候,要处理内联代码和预加载的代码,防止两者冲突。解决冲突的方式如下(主要是处理js,因为css重复的话没问题,但js重复执行的话可能会造成问题): 1.创建一个不可见的iframe,里面是空白。iframe标签onload之后,往里面的dom添加script标签或者link标签,因为iframe内外环境是隔离的,所以不会有影响 2.使用preload、prefetch等属性 3.最麻烦的方式,处理冲突的逻辑嵌入到业务逻辑中。标志一个全局变量,来判断代码有没有执行过。 《高性能网站建设指南》笔记 标签:pre 业务逻辑 属性 可见 str html 包含 全局变量 判断 原文地址:http://www.cnblogs.com/hellohello/p/7685812.htmljs文件什么时候合并?
css和js到底是内联还是外部引入?