Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   onreadystatechange не срабатывает (https://javascript.ru/forum/events/69203-onreadystatechange-ne-srabatyvaet.html)

Илья Колдунов 05.06.2017 20:41

onreadystatechange не срабатывает
 
Есть код динамически генерирующий iframe:
function add(event)
{
    console.log(event.target.readyState);
}

function load()
{
    var frame = document.createElement("iframe");
    frame.setAttribute("SRC", "RESOURCES/FRAME.HTML");
    document.body.appendChild(frame);
    frame.contentWindow.document.onreadystatechange = add;
}

load();


Почему обработчик на onreadystatechange не срабатывает ни разу?

laimas 05.06.2017 20:48

https://developer.mozilla.org/ru/doc...adystatechange

Илья Колдунов 05.06.2017 21:04

Спасибо, но кажется вы ответили не на тот вопрос...
Меня не XMLHttpRequest интересует. А вот здесь про динамическую генерацию ничего нет(
https://developer.mozilla.org/en-US/...adystatechange

Илья Колдунов 05.06.2017 21:05

Кстати, в таком случае не работает и onDOMContentLoaded.

рони 05.06.2017 21:16

Илья Колдунов,
может так?
function load()
{
    var frame = document.createElement("iframe");
    document.body.appendChild(frame);
    frame.onload = add;
    frame.setAttribute("SRC", "RESOURCES/FRAME.HTML");

}

laimas 06.06.2017 03:43

Илья Колдунов,
то есть притуливать объекту (даже не самому порожденному) метод, которым он не обладает, и удивляться почему не работает, к вашей проблеме не относится? :)

Илья Колдунов 06.06.2017 12:54

Цитата:

Сообщение от laimas (Сообщение 454619)
Илья Колдунов,
то есть притуливать объекту (даже не самому порожденному) метод, которым он не обладает, и удивляться почему не работает, к вашей проблеме не относится? :)

Метод для document существует. Он описан в спецификации MSDN:
https://developer.mozilla.org/en-US/...adystatechange
А XMLHttpRequest тут не при чём(

Илья Колдунов 06.06.2017 12:57

Цитата:

Сообщение от рони
может так?


Да, спасибо. оно будет работать... Но меня интересует то, как встроить этот кусок кода перед срабатыванием всех остальных, которые есть в iframe. Т.е. чтобы встроенный сработал первым. Такое возможно при помощи document.onreadystatechane, но почему-то оно не работает для динамически генерируемых iframe.

laimas 06.06.2017 13:12

Илья, так вы что хотите, отследить загрузку документа или конкретные изменения в документе?


Часовой пояс GMT +3, время: 17:16.