作为一个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程序的显示速度相关推荐

  1. ASP程序中调用函数Now()显示上午下午的问题

    ASP程序中,调用函数Now(),显示的时间总是形如"2009-07-12 上午 08:12:56 "这样的,总显示"上午"和"下午",解决 ...

  2. Android的WebView控件载入网页显示速度慢的究极解决方案

    Android的WebView控件载入网页显示速度慢的究极解决方案 [转载来源自http://hi.baidu.com/goldchocobo/] Android客户端中混搭HTML页面,会出现虽然H ...

  3. 提高页面显示速度的秘技

    在安排Web页面的布局时,最常用的方法之一是用HTML表格界定页面的结构.例如,假设Web页面由顶端的导航条和它下面的两栏(列)构成--左边的列是一个导航条,右边的列是实际安置内容的区域.对于这样一个 ...

  4. android的webview控件载入网页显示速度慢的究极解决方案,【转】Android的WebView控件载入网页显示速度慢的究极解决方案...

    Android客户端中混搭HTML页面,会出现虽然HTML内容载入完成,标题也正常显示,但是整个网页需要等到近秒(甚至更多)时间才会显示出来.研究了很久,搜遍了国外很多网站,也看过PhoneGap的代 ...

  5. python找不到reshape_如何加速Python程序

    这次就说一种简单的方式来加速python计算速度的方法,就是使用numba库来进行,numba库可以使用JIT技术即时编译,达到高性能,另外也可以使用cuda GPU的计算能力来加速,对python来 ...

  6. ASP程序快速生成Excel文件

    ASP程序快速生成Excel文件 在一个web项目中,要求将数据生成Excel文件保存到本地,最早使用的方法是直接使用Microsoft的Office Web组件,但是总体感觉是慢(微软的通病).然后 ...

  7. Visual studio 中调试ASP程序、Javascript 代码 - 刘稻博客

    2019独角兽企业重金招聘Python工程师标准>>> PS: 1.在调试asp时,要先附加进程(附加到:自动:与具体调试网站对应的 dllhost.exe 或 w3wp.exe . ...

  8. 浅谈如何增强ASP程序性能

    Session在繁忙站点上使用时有几个缺陷.繁忙的意思是:站点上每秒有上百的页面被请求,或者同时有上千的访问用户.这个技巧对于那些要求水平扩展强 的站点非常重要,也就是指这些站点:它们利用多个服务器完 ...

  9. 网站安全之ASP程序加密解密方法全面解析

    如今,用ASP技术构建的网站随处可见.由于ASP脚本是在服务器上解释执行的(无法编译),因此你辛苦开发出来的ASP代码,很容易被人拷去任意修改,如何保护ASP源代码呢?这是每个ASP站长都会遇到的难题 ...

最新文章

  1. vsftpd的主配置文件是什么linux,linux下vsftpd配置文件选项详细说明
  2. 数据库的概念以及MYSQL的安装和卸载
  3. 图很难理解?看这篇图论基础与图存储结构就够了
  4. 程序调试的时候利用Call Stack窗口查看函数调用信息
  5. python2和python3的不同点_Python2和Python3的区别,新手学习Python应该如何选择
  6. 编译log4cplus-2.0.x备忘录
  7. iOS 数据持久化-- FMDB
  8. Office2010升级前期准备
  9. Android 8.0 学习(12)---init.rc语法及解析过程总结
  10. java实现音频播放小程序_微信小程序实现音频文件播放进度的实例代码
  11. 360 支持linux版本下载地址,360安全浏览器国产稳定版本发布,提供deb软件包下载,附介绍...
  12. C# 键盘特定键的代码描述
  13. 黑马程序员 Python学习笔记之多文件项目的演练
  14. 一步快速将Smartform转成生成PDF文件
  15. 用iPhone打造个人的GTD(Get Things Done)实践
  16. 传奇服务器二级密保信息存档,找回玩家账号和二级密码,修改密码和密保
  17. Pyhton语音播放
  18. 读书百客:《渔家傲·天接云涛连晓雾》评赏
  19. Julia学习笔记(一)——入门
  20. MBR膜持续发力 守护绿水青山

热门文章

  1. 如何做一名优秀的博士生--施一公教授
  2. 深度学习用于基于内容的图像检索 Deep Learning for Content-Based Image Retrieval
  3. a标签中href=javacript:; href=javacript:void(0); href=#区别
  4. 2013年4月20日 通用权限管理系统组件V3.8功能改进说明
  5. linux系统结构,文件寻址,文件管理编辑,正则表达式
  6. SQL Server 分区表的创建方法与管理
  7. Windows 2008在域中不能更改密码策略解决方法
  8. matlab搜索路径
  9. Delphi实现截屏功能
  10. MATLAB:图像半色调技术简介