| |
|
| |
 |
|
加速asp程序的显示速度
|
|
| 日期:2005-7-18 8:25:17 来源:易特网络技术 编辑:黑鹰 点击: |
作为一个asp程序员,你不会怀疑提高web应用程序性能的重要性。为了让程序运行的更快一些,你可能一直忙于优化数据库或com组件。如果这些你都做过了,你想到过靠加快最终生成html代码在浏览器中的显示速度来提高性能吗?对于最终用户来说,如果页面能显示的更快,你就能赢得更多的赞誉。 提高html在浏览器中显示的速度可以通过一些鲜为人知的技术来实现。
1、使用表格嵌套 在页面中建立复杂的结构,一般通过在页面中放置html表格来实现。如果要建立一个这样的页面:这个页面有一个顶部导航栏一个左边导航栏,一个右边的内容区。可以用一个两行两列的大表格来建立它。第一行中,合并两个列,然后插入一个顶部导航栏。第二行左边的列中,插入一个表格来显示导航按钮。右边的栏中,放置一个表格来实际内容。这样嵌套的表格生成的代码是这样的:
<table border="0"> <tr> <td colspan="2"><!-- content for top nav bar --></td> </tr> <tr> <td align="left" valign="top"><!-- content for left nav bar --></td> <td align="left" valign="top"><!-- content for body of page --></td> </tr> </table>
但是,实际上,浏览器找到<table>标签的时候并不是立刻把页面显示到屏幕上,除非它找到相应的结束标签</table>。所以,如果你的整个页面在一个表格里的话,在收到最后一个</table>之前,什么也不会显示出来,这样,这个页面将在整个文件全部下载以后才能被用户所看到。在页面数据量比较大的时候(比如搜索引擎的搜索结果),这个特性会导致暂时的停顿。为了防止出现这种情况,可以在制作的时候把页面分成许多小的表格。在每一个<table>到相应的</table>这一部分html代码下载完的时候,浏览器就会把它显示出来。在访问者看来页面是渐渐的,一部分一部分,越来越多的出现在屏幕上的。感觉上,这样的页面显示速度比下载完整个文件再一次显示出来更快。 按照这个原则来研究前面的例子,应该把页面中整个的大表分成三个单独的表。用第一个表显示顶部的导航栏,调节它的宽度,使它足够容纳所有的内容,在一个<table></table>代码段中完成它。页面下半部分,左边第二个表排成一列。使用第三个表容纳实际内容。(见图二)因为每一个部分都是一个完整的表格,所以,每一部分代码下载后都会立刻被显示出来。这样,顶部和左边的导航栏将比页面的其它部分更显显示出来。用户会在这个时候想象页面开始下载,很快就能显示在屏幕上。这样比起让用户在较长时间内一直面对一个空白屏幕要好得多。
修改过的代码是这样的: <table border="0" width="100%"> <tr> <td align="center" valign="top"><!-- content for top nav bar --></td> </tr> </table> <table border="0" align="left"> <tr> <td align="left" valign="top"><!-- content for left nav bar --></td> </tr> </table> <table border="0"> <tr> <td align="left" valign="top"><!-- content for page body --></td> </tr> </table> 2、也要记住关闭其他的标记 在上面的例子中,我们仅仅早一些关闭<table>标记,就能让页面在浏览器显示的更快些。以此类推,还有一些类似的标记也有同样的特性。 比如产生列表框和组合框<option>标记和产生列表项的<li>标记。通常,asp程序员存取数据库,并把数据送入通过<option>建立的列表框或组合框中,这时候在代码中写上一个关闭<option>标记,这样简单的改变也能使页面在浏览器中显示的更快。
不要使用这样的代码: do while not objrs.eof stroptionlist = stroptionlist & "<option value=""" & objrs("id") &_""">"& _objrs("productname") objrs.movenext loop
response.write "<select size=""1"">" & stroptionlist & "</select>"
要使用这样的代码: do while not objrs.eof stroptionlist = stroptionlist & "<option value=""" & objrs("id") & _ """>" & objrs("productname") & "</option>" objrs.movenext loop
response.write "<select size=""1"">" & stroptionlist & "</select>"
不要使用这样的代码: <ul> <li>apples <li>oranges <li>bananas </ul>
使用这样的代码: <ul> <li>apples</li> <li>oranges</li> <li>bananas</li> </ul>
现在看看,你的页面在浏览器中是不是显示的快了? 请不要轻视这些改变对提高asp程序性能的重要性。也许,在你能找到的“技巧与提示”一类的书或在线资料中,很少提到过通过优化html代码来使你的程序运行的更快。但是,在实际中应用这些技术,确实能使程序性能得到很大的提高。
|
上一篇:一个求最大值与最小值的函数
下一篇:asp 编程中 20 个非常有用的例子
[发送给好友] [打印本页] [关闭窗口] [返回顶部] 转载请注明来源:http://www.iyit.net |
|
| 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
| 责任编辑: 黑鹰 |
投稿作者: 易特网络 |
| 信息来源: 易特网络技术 |
录入时间: 2005-7-18 8:25:17 |
| 浏览次数: |
投稿信箱: shtghy@163.com |
|
|
|
|