提高页面显示速度的秘技

来源:asp之家 时间:2010-05-31 17:46:00 

速度|显示|页面
           

           在安排Web页面的布局时,最常用的方法之一是用HTML表格界定页面的结构。例如,假设Web页面由顶端的导航条和它下面的两栏(列)构成——左边的列是一个导航条,右边的列是实际安置内容的区域。对于这样一个页面,我们可以用一个两行、两列的大表格进行布局:在第一行中,合并两个列然后放上顶端导航表格;在第二个行中,左边的列放上一个显示导航按钮的表格,右边的列再用一个表格显示页面的实际内容。用这种表格嵌套表格的方法进行布局可以得到非常好的效果。 
    要制作出这种页面,我们可以使用如下HTML代码: 
 
 < TABLE BORDER="0" > < TR > < TD COLSPAN="2" >< !-- 顶端导航条的内容 -- >< /TD >< /TR > < TR > < TD ALIGN="LEFT" VALIGN="TOP" >< !-- 左边导航条的内容 -- >< /TD > <TD ALIGN="LEFT" VALIGN="TOP" >< !-- 页面内容区域 -- >< /TD > < /TR > < /TABLE >
 
  如果浏览器发现页面中有一个TABLE标记,在接收到对应的结束标记< /TABLE>之前它不会显示这个表格。因此,如果整个页面都放入了一个大表格中,在浏览器下载这个大表格的< /TABLE>标记之前整个页面都不会显示。当显示内容非常多的页面时(例如,搜索结果或者电子商务网站上的产品目录),表格的延迟显示会导致整个页面显示的停顿。 
  为了避免出现这种情况,我们应该把页面划分成多个较小且独立的表格区域。这样的话,每个表格的HTML代码下载之后浏览器就可以立即显示它。对于浏览者来说,页面将在屏幕上一部分、一部分地逐渐显示出来。而且更重要的是,这种页面在屏幕上开始显示的速度要比前面等待整个页面下载才显示的方法快得多。
  对于前面介绍的例子,我们不是使用单个大表格进行页面布局,而是使用三个独立的表格:第一个表格显示页面顶端的导航条,使其具有足够的宽度显示页面内容并完整地给出其<TABLE >< /TABLE>标记对;在第一个表格的左下位置安排第二个表格,使这个表格向左对齐;最后一个表格位于第二个表格的右边,用于放置页面内容。由于现在每一部分都是一个独立的表格,浏览器只要下载了任一部分的代码就会立即显示它。因此,页面顶端和左面的导航条将比页面其余部分更快地显示出来。这就避免了让浏览者长时间地在空白页面前等待,而是给了他这样一种印象:页面已经开始下载,整个页面将立刻出现在屏幕上。
  修改后的布局代码如下所示:
 
 < TABLE BORDER="0" WIDTH="100%" > < TR > < TD ALIGN="CENTER" VALIGN="TOP">< !-- 顶端导航条的内容 -- >< /TD > < /TR > < /TABLE > < TABLE BORDER="0"ALIGN="LEFT" > < TR > < TD ALIGN="LEFT" VALIGN="TOP" >< !-- 左边导航条的内容 -- ></TD > < /TR > < /TABLE > < TABLE BORDER="0" > < TR > < TD ALIGN="LEFT"VALIGN="TOP" >< !-- 页面内容区域 -- >< /TD > < /TR > < /TABLE > 
 
    正如尽可能早地关闭TABLE标记使得浏览器能够快速地显示出表格中的数据,还有另外两个标记也同样可以用这种方法提高显示速度,这两个标记就是用于制作列表框的<OPTION >标记和用于制作无序列表的< LI >标记。
    ASP程序员常常要访问数据库获取数据然后用< OPTION >标记构造列表框。只要简单地改动一下代码关闭<OPTION >标记,就可以让浏览器显示页面的速度加快。 
  例如,原先使用下面的代码: 
 
Do while not objRS.EOF strOptionList = strOptionList & "< OPTIONvalue=""" & objRS("ID") & _ """ >" & objRS("ProductName") objRS.MoveNextLoop Response.Write "< SELECT SIZE=""1"" >" & strOptionList & "< /SELECT >"
 
现在只需改动一行代码: 
 
Do while not objRS.EOF strOptionList = strOptionList & "< OPTIONvalue=""" & objRS("ID") & _ """ >" & objRS("ProductName") & "< /OPTION >"objRS.MoveNext Loop Response.Write "< SELECT SIZE=""1"" >" & strOptionList &"" 
 
如果原来使用的代码如下: 
 
 < UL > < LI >苹果 < LI >桔子 < LI >香蕉 < /UL > 
 
那么现在改用: 
< UL > < LI >苹果< /LI > < LI >桔子< /LI > < LI >香蕉< /LI > < /UL > 
 
经过这些改动之后,浏览器显示页面的速度将会更快。

标签:
0
投稿

猜你喜欢

  • 应用技巧:保障WEB服务器安全的三大利器

    2009-01-23 17:03:00
  • 发现并防止对WEB应用服务器的三种攻击

    2008-12-23 15:54:00
  • 谷歌搜索引擎优化关于链接的九个基础问题

    2008-12-08 10:18:00
  • 叵沓埠:adsense不显示的原因之版权材料

    2009-05-24 16:46:00
  • Win2008 R2 管理三:创建文件服务器

    2009-09-09 12:25:00
  • IIS常见问题及解答以及故障分析

    2008-04-12 10:32:00
  • Linux和Windows系统升级的最大不同

    2009-02-10 18:36:00
  • Firefox 3.6 Beta 2发布 修复190多个Bug

    2009-11-11 17:00:00
  • Google Admanager广告管理系统整合AdSense

    2009-03-11 13:07:00
  • 优秀网络编辑是怎么炼成的

    2008-04-15 15:20:00
  • 中国二季度网游收入破9亿美元 腾讯升至榜首

    2009-10-14 13:34:00
  • 我的GG adsense从每周10美金到每周800美金的秘笈

    2008-08-10 18:19:00
  • 中科院软件所张俊林:Baidu分词算法分析

    2008-10-06 17:44:00
  • VSFTPD的菜鸟篇

    2009-12-23 19:25:00
  • 怎样去推广图片类的网站

    2008-05-04 19:15:00
  • Google不跨入Android硬件 不从事硬件制造

    2009-11-05 10:46:00
  • 搜索引擎营销(SEM)之付费关键词广告

    2009-03-21 13:25:00
  • Windows 2000安全审核让入侵者无处遁形

    2009-12-02 18:48:00
  • 阿里妈妈三年内不盈利,能否让站长赚钱?

    2007-12-04 18:45:00
  • 中国最贵域名:chinese.com 110万美元成交

    2008-01-30 13:54:00
  • asp之家 网站运营 m.aspxhome.com