Программирование > 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:
М-да. Действительно странно, но работает. Спасибо.
Навигация
Перейти к полной версии