Как событие onreadystatechange поддерживается везде, а document.readyState нет? - PullRequest
3 голосов
/ 22 июня 2019

Согласно MDN здесь и здесь , это говорит о том, что событие readystatechange поддерживается во всех браузерах, но свойство document.readyState поддерживается только до IE9 + (8 *).

Это на самом деле не имеет смысла, учитывая, что буквальное определение события readystatechange:

Событие readystatechange вызывается, когда атрибут readyState объектадокумент изменился.

Если только предыдущие реализации readystatechange не сохранили document.readyState как внутреннюю переменную, к которой нельзя получить доступ.Это так, или это просто ошибка в документации?

1 Ответ

1 голос
/ 24 июня 2019

Похоже на ошибку документации. Я пытаюсь протестировать свойство document.readyState в IE 11 с различными режимами документа, и оно работает во всех режимах документа, поэтому подобное должно работать во всех версиях 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>

Выход:

enter image description here

...