Программирование > JavaScript & JScript

iframe, designMode=On: установка innerHTML.

(1/1)

dub:
Имею две функции. Одна передает некоторое значение в 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();
}
--- Конец кода ---

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

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

Заранее спасибо.

Макс:
У меня заработало вот так:

--- Код: ---


function init() {
   editor.document.designMode = "on";
   editor.document.open();
   editor.document.writeln(\'\');
   editor.document.close();
   editor.document.body.innerHTML = \'Test\';
}





--- Конец кода ---

но объяснить это поведение я пока что не могу

dub:
М-да. Действительно странно, но работает. Спасибо.

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии