主题:  关于表格嵌套中的一个很基础的问题。??请帮助解答

tolike

职务:普通成员
等级:1
金币:0.0
发贴:25
注册:2001/5/22 21:18:28
#12003/7/29 8:34:03
在html中。用table表格来固定位置时,多次嵌套表会影响网页打开的速度吗如下
还有就是,用表格嵌套中再使用来多次嵌套会影响速度吗,
他们嵌套最大能有多少层。会明显影响打开网页的速度。















    



 




























 
 



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#22003/7/29 12:28:10
看对方机器配置



whoisspider

职务:普通成员
等级:1
金币:1.0
发贴:245
注册:2002/9/25 18:04:34
#32003/7/29 13:26:17
和客户端机器配置关系不大!
论嵌套,新浪网的页子里面关系够复杂吧!你自己机器看起来照样很快。
嵌套越多,html文件就越大,下载起来速度稍慢一点而已。
现在显示快慢的瓶颈主要还是服务器和带宽,客户端处理绰绰有余。
html文件里面的标签都是在客户端浏览器里解释执行的,如果连几个嵌套CPU计算不过来的话,那CPU就不用运行操作系统了。
至于多少个嵌套会明显影响速度的问题,需要实验才能得出结论,我想你设计网页总不至于无聊到用成百上千个嵌套表格吧!总之你的担心是多余的,就算担心,等你的网页复杂程度超过新浪10倍后再来讨论这个问题。



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#42003/7/29 13:48:43
之前曾经和朋友一起在作一个尝试,在嵌套了n个表格后终于死机



当然,如果你的表格还没有那么多的时候,确实和机器配置无关



whoisspider

职务:普通成员
等级:1
金币:1.0
发贴:245
注册:2002/9/25 18:04:34
#52003/7/29 15:03:12
刚才想到了个测试方法,当然不会笨到直接写表格嵌套代码来测试!就用javascript来节省劳动力了,写了个简单的递归函数,用这个函数来生成n层嵌套表格代码。嘿嘿,效果非常好,只需要修改调用TestTable(n)里的数字就可以了。

经过测试,100、200没问题,400、500就出问题了,最后一步步逼近准确值,得到临界值314。超过314就出问题了,堆栈溢出错误。

学过编程的都知道堆栈,IE处理html处理标签基本原理我推理应该是查到一个标签头后(比如),就去查这个标签尾(比如
),如果查到尾后就处理中间包含的内容,但是如果还没查到尾的时候又发现了新的标签,那IE就把还没处理完的标签给压到堆栈里,嵌套多少标签就压到堆栈里多少标签。

因为不清楚、是不是也压到堆栈里了,也不清楚IE具体是如何操作的,从他报错的信息基本肯定他的堆栈大小314多一点。事实上目前的的网页还没有复杂到嵌套300个以上标签的地步,这大小已经够用了。我用的是IE5.0,其他公司的浏览器或更高版本的浏览器也许堆栈大小会不同。

测试同时也表明了嵌套多少对运行速度没什么多大影响,嵌套314层还是很快就显示出来了。楼主的担心是多余的!




无标题文档







whoisspider

职务:普通成员
等级:1
金币:1.0
发贴:245
注册:2002/9/25 18:04:34
#62003/7/29 17:01:26
补充一点:
刚才只顾在程序上让IE出错,显示结果没怎么注意,刚才经查上面这个页子显示结果的表格嵌套只有27层,奇怪,明明执行了314次,应该有314个表格才对,但显示最多只有27个嵌套表格。看来IE5.0最多只能处理27层嵌套表格。至于314,看来只是堆栈的大小而已!