2012-02-16 5 views
0

Говорит, что я хочу вставить некоторый HTML в элемент body внутри элемента iframe. Я использую следующий код:createRange внутри iframe, но результат вне iframe

var selection = iframe.contentWindow.document.selection; 
var range = selection.createRange(); 

range.collapse(false); 
range.pasteHTML('<h1>hello</h1>'); 

Я подозреваю, что вновь созданный h1 элемент должен появляться внутри iframe, но он был вставлен в верхний уровень body элемента, то есть. контейнер iframe, а не сам iframe.

Эта проблема возникает только в IE.

+0

Это должно работать. Вы пробовали сначала сосредоточиться на iframe? –

+0

Я пробовал, но все равно никаких хороших результатов. Кажется, что, например, путайте внешний элемент тела внутри. Привет, Тим, я видел, что кто-то задал ваш подобный вопрос раньше (???), что там происходит? – user342683

+0

Я видел, как IE запутался в каком кадре, но не в том случае, когда правильный фрейм явно сфокусирован. У вас есть демо-страница, которую я вижу? –

ответ

0

Используйте таймер, чтобы задержать операцию до тех пор, пока IFrame готов:

setTimeout(function(){range.pasteHTML('<h1>hello</h1>');}, 0); 
Смежные вопросы