在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
性能黄金法则: 只有10%~20%的最终用户响应时间花在了下载HTML文档上。其余的80%~90%时间花在了下载页面中的所有组件上。 规则1 减少HTTP请求 可以通过使用图片地图,CSS Sprites(有利有弊),内联图片(data:URL模式,IE不支持,不能被缓存),合并脚本和样式表。 规则2 使用内容发布网络 如果应用程序web服务器离用户更近,则一个HTTP请求的响应时间将缩短 ; 规则3 添加Expires头 web服务器使用Expires头告诉web客户端他可以使用一个组件的当前副本,直到指定的时间为止。要求服务器与客户端的时钟严格同步,并且要在时间过期后在服务器配置中提供一个新的日期。 规则4 压缩组件 从HTTp1.1开始, 规则5 将样式表放在顶部 逐步呈现,避免白屏 规则6 将脚本放在底部 HTTP1.1规范建议浏览器从每个主机名并行下载两个组件,在下载脚本时,并行下载实际上是被禁用的。 规则7 避免CSS表达式 表达式expression方法被其他浏览器忽略,但是对于IE来说是一个有用的工具。能够在IE中设置属性,创建跨浏览器的一致体验。例如,IE[IE6,IE7(Quirk),IE8(Quirk]不支持min-width属性,用表达式的方法可以解决这一问题: 复制代码 代码如下:width: expression(document.body.clientwidth<600?"600px": "auto"); min-width: 600px; 表达式的问题在于对其进行的求值的频率比人们期望的要高。他们不仅在页面呈现和大小改变时求值,当页面滚动甚至用户鼠标在页面上移过时都要求值。我们可以向CSS表达式中添加一个计数器来进行跟踪。 复制代码 代码如下:P { width: expression(setCntr(),document.body.clientwidth<600?"600px": "auto"); min-width: 600px; } 取代表达式的方法:事件处理器(Event Handlers) 复制代码 代码如下:function setMinWidth(){ setCntr(); //用于显示求值次数 var aElements = document.getElementsByTagName("p"); for(var i=0;i<aElements.length;i++){ aElements[i].runtimeStyle.width=(document.body.clientwidth<600?"600px": "auto"); } } if(1!=navigator.userAgent.indexOf("MSIE")){ window.onresize=setMinWidth; } 这会在浏览器改变大小时中动态设置宽度,但是第一次呈现时这并不能恰当地设置段落大小,因此,页面还需要使用“一次性表达式”,通过表达式设置初始宽度。 规则8 使用外部JavaScript和CSS 规则9 减少DNS查找 规则10 精简JavaScript 精简VS混淆VS压缩 规则11 避免重定向 当Web服务器向浏览器返回一个重定向是,响应中就会拥有一个范围在3xx的状态码。这表示用户代理必须执行进一步操作才能完成请求。 重定向影响的是HTML文档的下载。 规则12 移除重复脚本 规则13 配置ETag 规则14 使Ajax可缓存 最后奉上本书的内容提纲,以备复习使用! |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论