“window”的“readystatechange”事件是什么意思?
What does ‘readystatechange’ event for ‘window’ mean?
尝试处理 window.onreadystatechange
,我注意到此事件在页面加载期间触发 两次 。但我无法弄清楚每次事件后到底发生了什么变化。如果不是window
,而是document
,那么就有document.readyState
属性包含当前状态。但是在 window
的情况下,没有任何 “window.readyState”
或类似的 属性。那么当 window
的 readystatechange
事件触发时,它真正意味着什么,第一次和第二次触发之间的区别是什么?
这是我的代码,它给出了两个看似相同的控制台输出:
'use strict';
window.addEventListener('readystatechange', function(e) {
console.log(window, e);
});
window
仅在 IE 和 Edge 中触发 readystatechange
事件(在 IE 11 中测试)。
它不会在 Firefox 或 Chrome.
中触发
当它的 readyState
变为 "interactive"
和 "complete"
(冒泡)时,它实际上被文档触发。
因此,在 IE 中:
window.onreadystatechange == document.onreadystatechange
不过我不推荐使用它,因为在其他浏览器中不会触发此事件。
尝试处理 window.onreadystatechange
,我注意到此事件在页面加载期间触发 两次 。但我无法弄清楚每次事件后到底发生了什么变化。如果不是window
,而是document
,那么就有document.readyState
属性包含当前状态。但是在 window
的情况下,没有任何 “window.readyState”
或类似的 属性。那么当 window
的 readystatechange
事件触发时,它真正意味着什么,第一次和第二次触发之间的区别是什么?
这是我的代码,它给出了两个看似相同的控制台输出:
'use strict';
window.addEventListener('readystatechange', function(e) {
console.log(window, e);
});
window
仅在 IE 和 Edge 中触发 readystatechange
事件(在 IE 11 中测试)。
它不会在 Firefox 或 Chrome.
当它的 readyState
变为 "interactive"
和 "complete"
(冒泡)时,它实际上被文档触发。
因此,在 IE 中:
window.onreadystatechange == document.onreadystatechange
不过我不推荐使用它,因为在其他浏览器中不会触发此事件。