JS网页加载状态判断

网页加载状态一共分为5种,分别是:

//(未初始化)还没有调用send()方法
1.uninitialized:(Uninitialized) the send( ) method has not yet been invoked. 

//(载入)已调用send()方法,正在发送请求
2.loading:(Loading) the send( ) method has been invoked, request in progress. 

//(载入完成)send()方法执行完成,已经接收到全部响应内容
3.loaded:(Loaded) the send( ) method has completed, entire response received. 

//(交互)正在解析响应内容
4.interactive:(Interactive) the response is being parsed. 

//(完成)响应内容解析完成,可以在客户端调用了
5.completed:(Completed) the response has been parsed, is ready for harvesting. 

这里分为两种判断形式描述:

1.html文件内的js代码判断

用document.onreadystatechange的方法来监听状态改变,然后用document.readyState == “complete”判断是否加载完成
代码如下:

//当页面加载状态改变的时候执行这个方法.
document.onreadystatechange = subSomething;
function subSomething(){
      //当页面加载状态
      if(document.readyState == “complete”) {
           //code
      }
}

2.打开F12控制台使用js脚本获取状态

爬虫爬网页时,有时页面一直在加载中,这时候如果要停止加载,则可以执行js脚本: window.stop();

//当页面一直在加载中(比如引用某个图片或脚本未完成),但所需内容已显示出来
if (document.readyState == 'interactive') {
	window.stop();
}

风影OvO

风影OvO, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA 4.0协议进行授权 | 转载请注明原文链接

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

相关推荐