Вход

Просмотр полной версии : onreadystatechange не срабатывает


Илья Колдунов
05.06.2017, 20:41
Есть код динамически генерирующий 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/docs/Web/API/XMLHttpRequest/onreadystatechange

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

Илья Колдунов
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
Илья Колдунов,
то есть притуливать объекту (даже не самому порожденному) метод, которым он не обладает, и удивляться почему не работает, к вашей проблеме не относится? :)

Метод для 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
Илья, так вы что хотите, отследить загрузку документа или конкретные изменения в документе?