根据MDN herehere的说法,它表示所有浏览器都支持readystatechange事件,但仅直到IE9 +(8 *)左右才支持document.readyState属性。

鉴于readystatechange事件的字面定义为:

当文档的readyState属性已更改时,将触发readystatechange事件。

除非以前的readystatechange实现将document.readyState保留为无法访问的内部变量。是这种情况,还是仅仅是文档错误?

最佳答案

看起来像是文档错误。我尝试使用不同的文档模式在IE 11中测试document.readyState属性,它在所有文档模式下均有效,因此类似的特性应在IE的所有版本中均适用。

经过测试的代码:

<!DOCTYPE html>
<html>
<body>

<p>Click the button to display the loading status of the current document.</p>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction() {
  var x = document.readyState;
  document.getElementById("demo").innerHTML = x;
}
</script>

</body>
</html>


输出:

javascript - 如何在所有地方都支持onreadystatechange事件,但不支持document.readyState?-LMLPHP

10-06 09:27