gpt4 book ai didi

javascript - execCommand ("insertHTML", ...) 在 Internet Explorer 中

转载 作者:数据小太阳 更新时间:2023-10-29 04:01:43 29 4
gpt4 key购买 nike

我正在使用 document.execCommand() 构建一个带有可编辑 iframe 的所见即所得编辑器。现在我需要使用 "insertHTML" 命令,它在 Chrome 和 Firefox 中完美运行,但当然它在 Internet Explorer 中不起作用:

function run() {
document.getElementById("target").focus();
document.execCommand("insertHTML", false, "<b>ins</b>");
}
<div contenteditable id="target">contenteditable</div>
<button onclick="run()">contenteditable.focus() + document.execCommand("insertHTML", false, "&lt;b>ins&lt;/b>")</button>

这个问题的标准解决方案是什么?如果它只适用于 IE8 没关系,但 IE7 支持也很好。

最佳答案

在 IE <= 10 中,您可以使用表示选择的 TextRangepasteHTML 方法:

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

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

更新

在 IE 11 中,document.selection 消失了,insertHTML 仍然不受支持,因此您需要如下内容:

https://stackoverflow.com/a/6691294/96100

关于javascript - execCommand ("insertHTML", ...) 在 Internet Explorer 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3398378/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com