如何判断网页是否加载完毕

我想问浏览器下怎么判断一个页面是否加载完毕了呢?它怎么知道这个页面一共多大,有多少元素(如图片等),整个页面又加载了百分之多少呢?是不是在response头上包含有什么特... 我想问浏览器下怎么判断一个页面是否加载完毕了呢?它怎么知道这个页面一共多大,有多少元素(如图片等),整个页面又加载了百分之多少呢?是不是在response头上包含有什么特别的信息?这点非常想知道。
下面是一段JSP代码,完成的功能就是每隔1秒输入一次,一共输10.实际运行过程基本是一行行输入到浏览器中,一共10次。
我不明白的是这10次数据不可能是放在一个response响应中的吧,这就是说浏览器发出了一个request,却得到了10次response,输入10后然后服务器把再把这个连接关闭,这样理解对吗?
新手才学,请明白人给个答案,谢谢。先送50分,好的话再加50分。
JSP代码如下:
<%
out.flush();
int number = 0;
while (true) {
out.println(new java.util.Date()+" "+number );
out.flush();
Thread.sleep(1000);
System.out.print(".");
if (number++ > 10) {
break;
}
}
%>
自己又看了一点http1.1的协议,好像有个Transfer-Encoding: chunked个代表可以边下载数据边显示内容,现在明白一点了,还好更的好解释吗?
展开
 我来答
qiangtou
推荐于2016-07-21 · TA获得超过154个赞
知道小有建树答主
回答量:49
采纳率:0%
帮助的人:45.2万
展开全部
其实只有一个response回来,一次请求对应一次响应.
你设置的时间差欺骗了你.服务器的做法是生成多少字符就传给浏览器多少字符.

不同浏览器在处理响应时有不同的做法.
在opera中,是等待这10秒后一起显示,而,firefox,chrome,ie都是收到多少就显示多少.

你在11号早上又问了下,不介意我把问题贴出来吧
sxsboat 2010-11-11 09:55:41
看了你的回答,还是有一点不明白,浏览器怎么知道数据没有传送完全呢? 如果有这么一种情况,我让这个循环很多次,就是很久,一天吧,呵呵,浏览器还会再那一直接受吗?一句话,服务器传送所有数据完成的标志是什么?是在response响应头中的一个东西吗?麻烦你了啊。

这个还没有试验过,在实际应用中,应该不会出现这样的情况,客户是上帝,你这样玩人家,就是找死吧,呵呵.你可以用调试工具看看请求与响应情况.我想服务器和浏览器内部应该会有机制来处理这种情况,也就是有个超时的处理..
在浏览器显示第一条记录时,响应的状态码是200,说明服务器已经处理好请求,并开始发送生成的响应内容.

在这种提交方式(包括表单,刷新,地址栏按回车)下,我还找不到怎么通过程序查看浏览器是否接收完响应内容,我只知道用肉眼看进度条或是鼠标的样子.

但是还有一种提交方式,就是ajax中的xmlhttprequest对象也能向服务器发起请求,xmlhttprequest对象有个readyStae属性.
我摘录一段话给你看看.
在《Pragmatic Ajax A Web 2.0 Primer 》中对readyStae状态的介绍,摘译如下:
0: (Uninitialized) the send( ) method has not yet been invoked.
1: (Loading) the send( ) method has been invoked, request in progress.
2: (Loaded) the send( ) method has completed, entire response received.
3: (Interactive) the response is being parsed.
4: (Completed) the response has been parsed, is ready for harvesting.
0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了

你看看这个能不能帮到你

参考资料: Pragmatic Ajax A Web 2.0 Primer+原创

鹿雪赏天空
2019-08-04 · TA获得超过1175个赞
知道小有建树答主
回答量:1846
采纳率:100%
帮助的人:8.8万
展开全部
这些完全可以用阿冲点击软件来完成啊,支持网页加载判断,自动点击按键模拟、自动录入操作等模块,阿冲点击软件是完全图形界面菜单,不需复杂的编程,操作完全傻瓜化。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tony_444544457
2010-11-11
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
<body onLoad="javaScript:a();">
</body>
这段代码代表 当body区里的内容加载完成后,会触发javaScript里的a方法。
你可以吧10次的数据放到list或者map、set里,然后再把list、set、map放到resoonse里。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
重回至ai
2010-11-11 · TA获得超过324个赞
知道答主
回答量:115
采纳率:0%
帮助的人:77.1万
展开全部
那是http响应头信息中有个状态位onreadystatus属性,估计是记错了,记性向来不好。它的值是数值:
http响应状态码
响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行。
响应码分五种类型,由它们的第一位数字表示:
1.1xx:信息,请求收到,继续处理
2.2xx:成功,行为被成功地接受、理解和采纳
3.3xx:重定向,为了完成请求,必须进一步执行的动作
4.4xx:客户端错误,请求包含语法错误或者请求无法实现
5.5xx:服务器错误,服务器不能实现一种明显无效的请
200表示响应成功。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式