如何快速的呈现我们的网页(2)
作者:嗷嗷 来源:样式之美 时间:2007-11-23 12:53:00
C.让用户更快的看到想要的结果
用户对于一个站点的白页的忍受时间根据统计是8-12秒。白页的产生可能由于各种原因引起,我们能做的就是怎么让用户能变的稍微能等待更久。
方案1.多做一个引导页,让用户体会其中的变化
案例:mail.aol.com中的loading引导页方案2.优先载入页面结构以及结构图片,后一步载入当前页面数据,再后一步载入Iframe,Flash等数据.让用户尽早的看到被打开页面的希望.
D.提高客户端渲染速度
这个问题就比较泛泛了,影响客户端的渲染速度有多方面的,主要目的都是提高程序方面的效率.
对于大索引的结构,尽可能的少用索引访问,能用访问兄弟节点的方式尽可能用访问兄弟节点的方式.
字符串拼接尽可能用数组方式
大规模添加节点数据,请不要使用appendChild方式,尽量使用类似innerHTML的insertAdjacentHTML方式,FF下需修正2
E.让浏览器同时能请求更多的数据.
浏览器默认只是支持单域名同时有两个HTTP请求,使用多域名将能把请求数提高,在网络条件优良的情况下,能更快的下载数据,呈现结果.
F.提高服务器相应速度
对于需快速响应的文件,把其放入快速响应的服务器,应该是不错的方案,优化方案请系统储备组提供.
G.通过版本化控制客户端Cache.
通常js/css这类文件改动比较频繁,但是为了加载速度变快,我们有可能需要设定这类文件的过期时间为几天后,这样我们碰到的问题就是,如何及时更新这些在cache的文件?
通过一个简单的配置,通过修改JS的版本来及时告诉浏览器,这些文件必须重新请求了,不要继续使用浏览器cache中的数据. 方案有好几个:
手动改这些js的文件名
手动改这些js的路径
通过URL Rewrite方式来改重定位js路径
通过一个在高响应服务器上的一个js配置告知页面,这个页面该链接哪些JS文件
大版本不变,小版本不断追加,等一定时间后,统一更新,高效利用cache
标注
meizz的js framework还没出正式版,有兴趣在CSDN的页面翻一下
Firefox修正方式
function addHTML(oParentNode, sHTML) { if(window.addEventListener) {// for MOZ var oRange = oParentNode.ownerDocument.createRange(); oRange.setStartBefore(oParentNode); var oFrag = oRange.createContextualFragment(sHTML); oParentNode.appendChild(oFrag); } else {// for IE5+ oParentNode.insertAdjacentHTML("BeforeEnd", sHTML); }}