为什么我的页面会在刷新期间在Chrome中触发“就绪”事件?

时间:2014-07-25 13:04:28

标签: javascript jquery google-chrome dom

我有这样的HTML:

<!-- simulate a slow-loading request -->
<script src="http://example.com:81/non-existent-script.js"></script>

<script>
    $(document).ready(function() { alert("ready"); })
</script>

(见http://jsfiddle.net/mK63F/

当我在Chrome中打开该页面时,example.com请求应该会挂起 - 但是,当我点击F5时,会出现警告,然后页面会刷新。为什么会这样?以及如何区分这种情况(即页面加载期间的刷新)和“正常”页面准备好了吗?

2 个答案:

答案 0 :(得分:2)

当您点击f5浏览器停止所有活动请求并且ready功能正在破坏因为所有内容都已加载...

替代是

$( window ).load(function() {
  alert("loaded");
});

<强> http://jsfiddle.net/26x2K/4/


LINK HERE

如果所有请求都没有获得成功响应,则

.load未运行

  

Also Read - jquery what are differences between document ready and window load

答案 1 :(得分:1)

当你点击F5进行重新加载时,请求会被取消。你可以在状态为canceld的devtools中看到这个:

enter image description here

因此文档已准备就绪,因为不再加载任何请求。