createRange внутри iframe, но результат за пределами iframe - PullRequest
0 голосов
/ 16 февраля 2012

Говорит, что я хочу вставить некоторый HTML в элемент body внутри элемента 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.

1 Ответ

0 голосов
/ 15 ноября 2013

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

setTimeout(function(){range.pasteHTML('<h1>hello</h1>');}, 0);
...