网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.利用JSP的思想来做ASP.
.如何用ASP创建日志文件.
.在ASP里建表.
.VisualInterDev6.0七种实现分页显.
.Javascript利用xmlhttp获得服务器.
.MD5不可逆加密算法的ASP实现实例.
.利用OWC服务器端组件动态生成图表.
.连接各种数据库的代码的总结.
.两个获取http页面的c#函数.
.ASP中遍历和操作Application对象.
.asp实现在web中显示电子表格数据.
.关于Adodb.Stream的使用说明.
.使用ASP建立Http组件.
.灵活实用的页面广告实例.
.最大限度优化你的Asp性能.
.浅谈ASP中Web页面间的数据传递.
.关于0x80040e14错误 .
.自动清空站点目录下所有文件.
.让你的WAP网站有更好的兼容性.
.ASP与Oracle连接时的TNS错误 .

加速ASP程序的显示速度

发表日期:2004-4-16


  作为一个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代码来使你的程序运行的更快。但是,在实际中应用这些技术,确实能使程序性能得到很大的提高。

上一篇:ACCESS转化成SQL2000需要注意的几个问题 人气:32755
下一篇:让ASP程序运行于非Windows平台 人气:15335
浏览全部优化的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐