web前端

位置:IT落伍者 >> web前端 >> 浏览文章

利用HTML优化加快网页速度


发布日期:2022年05月05日
 
利用HTML优化加快网页速度

明显HTML暗渡公用脚本

减少web页面下载时间的关键就是设法减小文件大小当多个页面共用一些成分内容时就可以考虑将这些公用部分单独分离出来比如我们可以将多个HTML页面都用到的脚本程序编写成独立存在的js文件然后再在页面中按如下方式调用它

以下是引用片段

<script src=myfilejs></script>

这样公用文件只需要下载一次然后就进入缓沖区等下次再次调用包含公用文件的html页面时下载时间明显减少

让样式表内容进入地下工作

CSS是HTML装扮器一个漂亮的Web页面不可能没有它HTML页面中有多种引用CSS的方法不同的方法导致的效率也不一样通常我们可以将定义于<style></style>间的样式控制代码提取出来保存到单独的css文件中然后在HTML页面中以<LINK>标记或者@import标记的方式进行引用

以下是引用片段

<style>

@import url(mysheetcss

</style>

请注意css文件中无需包括<style>标记@import和LINK标记要定义在HTML页面的HEAD部分

宝贵内存节省两法

尽量减少HTML页面占用的内存空间是加快页面下载速度的一个有效方法在这方面个需要注意的问题

使用同一种脚本语言

HTML页面离不开脚本程序的支持我们经常会在页面中嵌入多种脚本语言比如JavaScript与VBScript但是不知你发觉没有这样的混合使用减慢了页面的访问速度原因在于要解释并运行多种脚本代码就必须在内存中装载多种脚本引擎所以请尽量在页面中使用同一种脚本语言编写代码

巧用IFrame

你使用过<IFRAME>标记吗?它可是一个非常美妙的功能如果要在一个HTML文档中包含第个页面的内容通常的方法是使用<FRAMESET>标记但是有了<IFRAME>一切变得简单了比如开发一个文档预览页面可以在左边放置一系列主题在右边放置一个IFRAME其中包含要预览的文档当鼠标掠过左边的每一个主题链接时就在右边建立一个新的IFRAME以预览文档这样做代码效率无疑是高效的但同时导致了繁重的处理过程最终是缓慢的速度

只使用单一的IFRAME当鼠标指向一个新主题时只需要修改IFRAME元素的SRC属性即可这样任何时间内只会有一个预览文档保留在内存

择优选用动画定位属性

每天上网浏览页面你一定会看到许多动画效果比如一个可爱的小兔子在页面上来回地走动 …… 实现这个效果的核心技术就是CCS定位通常我们是使用elementstyleleft和elementstyletop个属性来达到图形定位的目的但是这样做会产生一些问题left属性返回一个字符串并且其中包含了度量单位(比如px)因此要设定新的位置坐标就必须首先对这个字符串返回值进行处理然后才能赋值象下面一样

以下是引用片段

dim stringLeft intLeft

stringLeft = elementstyleleft

intLeft = parseInt(stringLeft)

intLeft = intLeft +

elementstyleleft = intLeft

你一定会感觉做这么点事情竟要编写这么复杂的代码是否有更简洁的方法?看这个属性posLeftposTopposWidth 和 posHeight它们对应于相应字符串返回值的点数数值好了使用这些属性重新编写代码实现上面代码实现的功能

以下是引用片段

elementstyleposLeft +=

代码短小速度却更快!

循环控制多个动画

说到制作动画效果当然离不开定时器的运用通常的方法就是使用windowsetTimeout来不断地定位页面上的元素但是如果页面上有多个动画要显示是不是就要设定多个定时器呢?答案是No!原因很简单定时器功能将消耗掉大量宝贵的系统资源可是我们仍能在页面上控制多个动画技巧就是使用一个循环在循环中根据不同的变量值控制相应动画的位置整个循环中只使用一个windowsetTimeout()函数调用

Visibility快于Display

让图画时隐时现会创造很有趣的效果种方法可以实现这个目的使用CSS的visibility属性或者display属性对于绝对位置元素diaplay和visibility具有同样的效果两者的区别在于设置为displaynone的元素将不再占用文档流的空间而设置为visibilityhidden的元素仍然保留原位置

但是如果要处理绝对位置的元素使用visibility会更快

从小处着手

编写DHTML网页的一个重要提示是从小处着手初次编写DHTML页面时一定不要试图在页面中使用你了解到的全部DHTML功能每次可以只使用一个单一的新特征并且仔细地观察由此产生的变化如果发现性能有所下降就可以快速地找到为什么

脚本的DEFER化

DEFER是脚本程序强大功能中的一个无名英雄你可能从没有使用过它但是看完这里的介绍后相信你就离不开它它告诉浏览器Script段包含了无需立即执行的代码并且与SRC属性联合使用它还可以使这些脚本在后台被下载前台的内容则正常显示给用户

最后请注意两点

不要在defer型的脚本程序段中调用documentwrite命令因为documentwrite将产生直接输出效果

而且不要在defer型脚本程序段中包括任何立即执行脚本要使用的全局变量或者函数

保持同一URL的大小写一致性

我们都知道UNIX服务器是大小写敏感的但是你知道吗Internet Explorer的缓沖区也是区别对待大小写字符串的因此作为web开发者一定要记住保持相同链接的URL字符串在不同位置的大小写的一致性否则就会在浏览器的缓沖区中存放同一位置的不同文件备份也增加了下载同一位置内容的请求次数这些都无疑降低了web访问效率所以请谨记同一位置的URL在不同页面中请保持URL字符串的大小写一致性

让标记有始有终

自己编写或者查看他人的HTML代码时我们一定都遇到过标记有头无尾的情况比如

以下是引用片段

<P>有头无尾标记举例

<UL>

<LI>第一个

<LI>第二个

<LI>第三个

</UL>

很明显上面的代码中缺少三个</LI>结束标记但是这并不妨碍它的正确执行在HTML中这样的标记还有一些例如FRAMEIMG和P

可是请不要偷懒请将结束标记写完整这样做不仅使HTML代码格式规范更可以加速页面的显示速度因为Internet Explorer将不会花费时间判断和计算段落或者列表项目在哪里结束

以下是引用片段

<P>有头有尾标记举例</P>

<UL>

<LI>第一个</LI>

<LI>第二个</LI>

<LI>第三个</LI>

</UL>

OK以上列举了有关加速HTML页面的个处理技巧描述这些很简单但是只有真正领会并掌握其中的本质并且举一反三才会编写出更快更好的程序

上一篇:遍历现有XML文件,同时写入到新文件中

下一篇:使用XML数据作为Binding的源