提高网页加载显示速度的方法
作者:仙人掌工作室 来源:yesky 发布时间:2007-08-10 13:17: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.EOFstrOptionList = strOptionList & "< OPTION VALUE=""" & objRS("ID") & _ """ >" & objRS("ProductName") objRS.MoveNextLoopResponse.Write "< SELECT SIZE=""1"" >" & strOptionList & "< /SELECT >"
现在只需改动一行代码:
Do while not objRS.EOF strOptionList = strOptionList & "< OPTION VALUE=""" & objRS("ID") & _ """ >" & objRS("ProductName") & "< /OPTION >" objRS.MoveNextLoopResponse.Write "< SELECT SIZE=""1"" >" & strOptionList & ""
如果原来使用的代码如下:
< UL > < LI >苹果 < LI >桔子 < LI >香蕉< /UL >
那么现在改用:
< UL > < LI >苹果< /LI > < LI >桔子< /LI >< LI >香蕉< /LI >< /UL >
经过这些改动之后,浏览器显示页面的速度将会更快。
猜你喜欢
- 你是否对获得MySQL改变字符集的实际操作感到十分头疼?不用急,以下的文章将会给你正确的解答方案,以下的文章主要是介绍获得MySQL改变字符
- 通常,在完成了一件网页设计后,设计师的无知都会显露无遗而备受指责。他们把创建网页代码的繁重工作都留给了程序员们。这种现象不只出现在网络开发行
- 在本教程中,你会学到如何把HTML的列表项(li元素)转换成下图的“便签墙”。该效果分5步实现。内核为webkit的Safari和Chrom
- 【MySql常用命令】1:使用SHOW语句找出在服务器上当前存在什么数据库:mysql> SHOW DATABASES;2:创建一个数
- 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。
- 可能有些地方翻译得不好,请见谅在这个冠冕堂皇的标题之下,我想回答一个土方,有人在博客提出很久了。该土方很好的描述了很多图标设计师所面临的典型
- 4款JavaScript放大镜特效脚本。准确的说,Anythingzoomer和Bezoom才是正宗的放大镜特效,当鼠标悬浮在图片上时,能放
- 以前在网上看到的最简单的拖动对象的代码,忘记作者叫什么了。原始代码在IE下有些小问题,并且声明了文档类型为xhtml 1.0后,在FF等非I
- 启发式评估法(Heuristic Evaluation)是一种用来发现用户界面设计中的可用性问题从而使这些问题作为再设计过程中的一部分被重视
- 代码如下:<% '功能:取得文件扩展名 Function getFileExt(sFileNam
- 很久以前做的东西,发出来大家玩玩!<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
- 或许你知道,Internet Explorer 6 已经不是最先进的浏览器了。事实上,它已经八岁了,但是很多人还在使用这个不安全的浏览器。正
- 如果当前绝对定位的元素需要透明(没啥内容、且不设置背景),背景元素有内容透出来的时候,IE6/IE7响应的不是期望的当前元素,而是背景元素。
- 阅读上一篇:定义网页的语言编码 用web标准设计网站,过渡的方法主要是采用XHTML+CSS,css样式表是必不可少的。这就要求所有网页设计
- 无法远程登入MySQL数据库的几种解决办法方法一:尝试用MySQL Adminstrator GUI Tool登入MySQL Server,
- 原始结构:Column1 Column2----------- ----------1 A1 B2 C2 D2 E3 F查询效果:Colum
- 在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗的解决方法分享。<div id='tes
- XML 是严格又自由的标记语言。我们都习惯于它的自由特性,自己想怎么定义都行,设计上非常自由,从不会因为它的标记特性约束到设计灵感的发挥。对
- 1.函数array() 功能:创建一个数组变量 格式:array(list) 参数:list为数组变量中的每个数值列,中间用逗号间隔 例子:
- 在网站建设中,分类算法的应用非常的普遍。在设计一个电子商店时,要涉及到商品分类;在设计发布系统时,要涉及到栏目或者频道分类;在设计软件下载这