Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: dub от 03 Марта 2003, 21:56:31

Название: iframe, designMode=On: установка innerHTML.
Отправлено: dub от 03 Марта 2003, 21:56:31
Имею две функции. Одна передает некоторое значение в innerHTML ифрейма, другая устанавливает designMode ифрейма в "On" и вызывает первую для передачи в ифрейм некоторого предустановленного значения.
function presetWSWG() {
    frames.wswgContent.document.body.innerHTML = "some";
}

function initWSWG() {
    frames.wswgContent.document.designMode = "On";
    presetWSWG();
}

Проблема. При непосредственном вызове initWSWG() designMode устнавливается в "On", но при попытке вызвать
presetWSWG() обработчик выдает ошибку
Цитировать
frames.wswgContent.document.body is null or not an object
.
Интересно, что если (вариант 1) из initWSWG() вообще удалить строку с вызовом presetWSWG()
function initWSWGvar1() {
    frames.wswgContent.document.designMode = "On";
}

и вызывать initWSWGvar1() при загрузке тела страницы, а presetWSWG() - onClick где-нибудь, то значение в тело ифрейма передается без ошибок.
Вариант2: если в initWSWG() перед вызовом presetWSWG() добавить, скажем alert()
function initWSWGvar2() {
    frames.wswgContent.document.designMode = "On";
    alert(\'Ща как передам!\');
    presetWSWG();
}

, то значение в тело ифрейма также передается без ошибок.

Может подскажете, опытные мои, в чем тонкость? Чую, это как-то связано со смещением фокуса или вроде того.

Заранее спасибо.
Название: iframe, designMode=On: установка innerHTML.
Отправлено: Макс от 04 Марта 2003, 00:42:42
У меня заработало вот так:







но объяснить это поведение я пока что не могу
Название: iframe, designMode=On: установка innerHTML.
Отправлено: dub от 04 Марта 2003, 16:26:29
М-да. Действительно странно, но работает. Спасибо.