Javascript 在插入符号处粘贴HTML而不使用insertNode

Javascript 在插入符号处粘贴HTML而不使用insertNode,javascript,dom,copy-paste,Javascript,Dom,Copy Paste,我使用以下方法在插入符号位置粘贴一些HTML,使用`range.insertNode(),源于 这是针对Windows应用商店应用程序的。我在Windows 8.1的通用应用程序中发现,使用range.insertNode()粘贴事件后,会出现严重的键入延迟。该问题仅在Windows 10下运行的Windows 8.1通用应用程序中出现。我无法在Windows 8.1下复制该问题(尽管我过去在Win8.1上确实遇到过),但每次在Windows 10上使用此示例应用程序的多台计算机上都会发生 有

我使用以下方法在插入符号位置粘贴一些HTML,使用`range.insertNode(),源于

这是针对Windows应用商店应用程序的。我在Windows 8.1的通用应用程序中发现,使用
range.insertNode()
粘贴事件后,会出现严重的键入延迟。该问题仅在Windows 10下运行的Windows 8.1通用应用程序中出现。我无法在Windows 8.1下复制该问题(尽管我过去在Win8.1上确实遇到过),但每次在Windows 10上使用此示例应用程序的多台计算机上都会发生


有人知道不使用
range.insertNode()
在插入符号处粘贴HTML的另一种方法吗?Windows应用商店应用程序使用IE11渲染引擎,因此如果它在IE11中工作,它将在应用商店应用程序/通用应用程序中工作。我现在觉得有点傻。答案是我发布的链接中的第二个答案

var doc = document.getElementById("your_iframe").contentWindow.document;

// IE <= 10
if (document.selection){
    var range = doc.selection.createRange();
        range.pasteHTML("<b>Some bold text</b>");

// IE 11 && Firefox, Opera .....
}else if(document.getSelection){
    var range = doc.getSelection().getRangeAt(0);
    var nnode = doc.createElement("b");
    range.surroundContents(nnode);
    nnode.innerHTML = "Some bold text";
};
var doc=document.getElementById(“您的iframe”).contentWindow.document;
//即
var doc = document.getElementById("your_iframe").contentWindow.document;

// IE <= 10
if (document.selection){
    var range = doc.selection.createRange();
        range.pasteHTML("<b>Some bold text</b>");

// IE 11 && Firefox, Opera .....
}else if(document.getSelection){
    var range = doc.getSelection().getRangeAt(0);
    var nnode = doc.createElement("b");
    range.surroundContents(nnode);
    nnode.innerHTML = "Some bold text";
};