2

Попытка обработки window.onreadystatechange, я замечаю это событие, стреляющее два раза во время загрузки страницы. Но я не могу понять, что именно меняется после каждого события. Если бы это было не для window, но для document, тогда существовало document.readyState свойство, содержащее текущее состояние. Но в случае window нет “window.readyState” или аналогичного имущества. Так что же это значит, когда срабатывает событие readystatechange для window, и какова разница между первым и вторым стрельбой?Что означает событие «readystatechange» для «окна»?

Вот мой код, который дает два, казалось бы, идентичных выходов пульта:

'use strict'; 
 

 
window.addEventListener('readystatechange', function(e) { 
 
    console.log(window, e); 
 
});

+1

«readyState» действительно является свойством объекта документа: https://developer.mozilla.org/en-US/docs/Web/API/Document/readyState –

+1

Я не получаю никаких событий. Какой браузер вы используете? Какие другие скрипты загружаются на эту страницу? – Bergi

+0

@JeffMcCloud, я знаю много о свойствах 'readyState' и' readystatechange' для 'document', но мой вопрос касался обработки этого события для' window', а не для 'document'. –

ответ

3

window только запускает readystatechange событие в IE и Край (протестировано в IE 11). Он НЕ запускается в Firefox или Chrome.

Фактически обстрел документа, когда его readyState изменяется на "interactive" и "complete" (пузыри).

Таким образом, в IE:

window.onreadystatechange == document.onreadystatechange 

Я бы не рекомендовал использовать его, хотя, как это событие не обжигают в других браузерах.