返回信息流在网上找了个用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 先谢谢啦
这是一条镜像帖。来源:北邮人论坛 / www-technology / #10515同步于 2010/8/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
求助!关于页面加载的问题
car123472
2010/8/2镜像同步10 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
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返回的数据,再画图。
: ...................
谢谢!我以前看到过讨论浏览器的并发请求个数的文章,1.中的加载页面主体和script是不是相当于用了2个并发请求呢?
如果有很多script要加载的话,超过浏览器支持的并发请求后,这个script是不是就必须等待了?那这时候是否就和ajax请求一样了呢?:)
【 在 xw2423 的大作中提到: 】
: 1。浏览器加载页面主体和页面上的script是并发的
: 2。如果换成ajax需要先获得data.js中的数据然后再画图,时间增加了
: 可以用firebug查看加载顺序和时间
: ...................
【 在 car123472 (摩可拿) 的大作中提到: 】
: 谢谢!我以前看到过讨论浏览器的并发请求个数的文章,1.中的加载页面主体和script是不是相当于用了2个并发请求呢?
我觉得先加载主体,然后加载资源是并发的,包括script css等
: 如果有很多script要加载的话,超过浏览器支持的并发请求后,这个script是不是就必须等待了?那这时候是否就和ajax请求一样了呢?:)
是会等待,但要看ajax在哪调用了,如果在window.onload事件中,那要比script标签中的晚
原来如此。。3ks~
我还是不用ajax来加载好了
【 在 xw2423 的大作中提到: 】
:
: 【 在 car123472 (摩可拿) 的大作中提到: 】
: : 谢谢!我以前看到过讨论浏览器的并发请求个数的文章,1.中的加载页面主体和script是不是相当于用了2个并发请求呢?
: ...................
script css加载不是并发吧?我觉得应该是按顺序加载
【 在 xw2423 的大作中提到: 】
: 我觉得先加载主体,然后加载资源是并发的,包括script css等
: 是会等待,但要看ajax在哪调用了,如果在window.onload事件中,那要比script标签中的晚
我们经常看到浏览器在加载某个页面时,部分内容先显示出来,又有些内容后显示。那么浏览器加载显示html究竟是按什么顺序进行的呢?
其实浏览器加载显示html的顺序是按下面的顺序进行的:
1、IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的。
2、在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是说所有相关联的元素都已经下载完)。
3、如果遇到语义解释性的标签嵌入文件(JS脚本,CSS样式),那么此时IE的下载过程会启用单独连接进行下载。
4、并且在下载后进行解析,解析过程中,停止页面所有往下元素的下载。
5、样式表在下载完成后,将和以前下载的所有样式表一起进行解析,解析完成后,将对此前所有元素(含以前已经渲染的)重新进行渲染。
6、JS、CSS中如有重定义,后定义函数将覆盖前定义函数。
【 在 xw2423 的大作中提到: 】
: 你用firebug看看就知道了
这与并发下载不冲突,解析是顺序执行的,但是下载可以并发,你看下图就知道,不过从下面看来页面的下载和资源的下载也是并发的。
【 在 seaver (benny) 的大作中提到: 】
: 我们经常看到浏览器在加载某个页面时,部分内容先显示出来,又有些内容后显示。那么浏览器加载显示html究竟是按什么顺序进行的呢?
: 其实浏览器加载显示html的顺序是按下面的顺序进行的:
: 1、IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的。
: ...................
你这个“并发“是怎么个定义?如何看出是”并发“?求解释
【 在 xw2423 的大作中提到: 】
: 这与并发下载不冲突,解析是顺序执行的,但是下载可以并发,你看下图就知道,不过从下面看来页面的下载和资源的下载也是并发的。