BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #10515同步于 2010/8/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

求助!关于页面加载的问题

car123472
2010/8/2镜像同步10 回复
在网上找了个用mootools实现的画topo图的模块 它加载网络节点数据的方式是通过在页面头部的script标签里面加入一个写入json数据的脚本<script src="data.js">...,data.js的内容是var nodedata={json数据格式,..,},在加载完data.js后,页面中生成节点图的函数再画图。 我做了一个修改,在服务器端用data.php去打包一个json数据包,执行的结果是echo原来data.js里面的json数据,页面中利用ajax的方式去读这个php返回的数据,再画图。 还没考虑这么修改是否有意义。。但在页面加载速度上后者比前者要慢。 我不明白的地方是——在头部引入的js会发起一个http请求,ajax请求php时也会发起一个http请求,两种方式总的请求数是一样多的,导致加载速度上存在时间差的原因是什么呢? 要怎么去比较这两种请求花费的时间?是否跟页面中脚本执行的顺序什么有关系呢? 啰啰嗦嗦的;P 先谢谢啦
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
xw2423机器人#1 · 2010/8/2
1。浏览器加载页面主体和页面上的script是并发的 2。如果换成ajax需要先获得data.js中的数据然后再画图,时间增加了 可以用firebug查看加载顺序和时间 【 在 car123472 (摩可拿) 的大作中提到: 】 : 在网上找了个用mootools实现的画topo图的模块 : 它加载网络节点数据的方式是通过在页面头部的script标签里面加入一个写入json数据的脚本<script src="data.js">...,data.js的内容是var nodedata={json数据格式,..,},在加载完data.js后,页面中生成节点图的函数再画图。 : 我做了一个修改,在服务器端用data.php去打包一个json数据包,执行的结果是echo原来data.js里面的json数据,页面中利用ajax的方式去读这个php返回的数据,再画图。 : ...................
car123472机器人#2 · 2010/8/2
谢谢!我以前看到过讨论浏览器的并发请求个数的文章,1.中的加载页面主体和script是不是相当于用了2个并发请求呢? 如果有很多script要加载的话,超过浏览器支持的并发请求后,这个script是不是就必须等待了?那这时候是否就和ajax请求一样了呢?:) 【 在 xw2423 的大作中提到: 】 : 1。浏览器加载页面主体和页面上的script是并发的 : 2。如果换成ajax需要先获得data.js中的数据然后再画图,时间增加了 : 可以用firebug查看加载顺序和时间 : ...................
xw2423机器人#3 · 2010/8/2
【 在 car123472 (摩可拿) 的大作中提到: 】 : 谢谢!我以前看到过讨论浏览器的并发请求个数的文章,1.中的加载页面主体和script是不是相当于用了2个并发请求呢? 我觉得先加载主体,然后加载资源是并发的,包括script css等 : 如果有很多script要加载的话,超过浏览器支持的并发请求后,这个script是不是就必须等待了?那这时候是否就和ajax请求一样了呢?:) 是会等待,但要看ajax在哪调用了,如果在window.onload事件中,那要比script标签中的晚
car123472机器人#4 · 2010/8/3
原来如此。。3ks~ 我还是不用ajax来加载好了 【 在 xw2423 的大作中提到: 】 : : 【 在 car123472 (摩可拿) 的大作中提到: 】 : : 谢谢!我以前看到过讨论浏览器的并发请求个数的文章,1.中的加载页面主体和script是不是相当于用了2个并发请求呢? : ...................
seaver机器人#5 · 2010/8/4
script css加载不是并发吧?我觉得应该是按顺序加载 【 在 xw2423 的大作中提到: 】 : 我觉得先加载主体,然后加载资源是并发的,包括script css等 : 是会等待,但要看ajax在哪调用了,如果在window.onload事件中,那要比script标签中的晚
xw2423机器人#6 · 2010/8/4
你用firebug看看就知道了 【 在 seaver (benny) 的大作中提到: 】 : script css加载不是并发吧?我觉得应该是按顺序加载
seaver机器人#7 · 2010/8/4
我们经常看到浏览器在加载某个页面时,部分内容先显示出来,又有些内容后显示。那么浏览器加载显示html究竟是按什么顺序进行的呢? 其实浏览器加载显示html的顺序是按下面的顺序进行的: 1、IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的。 2、在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是说所有相关联的元素都已经下载完)。 3、如果遇到语义解释性的标签嵌入文件(JS脚本,CSS样式),那么此时IE的下载过程会启用单独连接进行下载。 4、并且在下载后进行解析,解析过程中,停止页面所有往下元素的下载。 5、样式表在下载完成后,将和以前下载的所有样式表一起进行解析,解析完成后,将对此前所有元素(含以前已经渲染的)重新进行渲染。 6、JS、CSS中如有重定义,后定义函数将覆盖前定义函数。 【 在 xw2423 的大作中提到: 】 : 你用firebug看看就知道了
xw2423机器人#8 · 2010/8/4
这与并发下载不冲突,解析是顺序执行的,但是下载可以并发,你看下图就知道,不过从下面看来页面的下载和资源的下载也是并发的。 【 在 seaver (benny) 的大作中提到: 】 : 我们经常看到浏览器在加载某个页面时,部分内容先显示出来,又有些内容后显示。那么浏览器加载显示html究竟是按什么顺序进行的呢? : 其实浏览器加载显示html的顺序是按下面的顺序进行的: : 1、IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的。 : ...................
seaver机器人#9 · 2010/8/4
你这个“并发“是怎么个定义?如何看出是”并发“?求解释 【 在 xw2423 的大作中提到: 】 : 这与并发下载不冲突,解析是顺序执行的,但是下载可以并发,你看下图就知道,不过从下面看来页面的下载和资源的下载也是并发的。