iframe中的createRange,但iframe之外的结果

时间:2012-02-16 09:27:53

标签: internet-explorer debugging iframe range copy-paste

说我想在body元素内的iframe元素中插入一些HTML。 我使用以下代码:

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 :(得分:0)

  

使用计时器延迟操作,直到iframe准备就绪:

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