相关疑难解决方法(0)

execCommand() 现在已过时,有什么替代方法?

我打算使用Document.execCommand()方法和contenteditable属性来构建我的自定义 WYSIWYG 编辑器。但是当我查看 的文档Document.execCommand(),我发现它现在已经过时了。它的现代(或现存)替代品是什么?

html javascript css execcommand

83
推荐指数
7
解决办法
3万
查看次数

document.execCommand 有替代品吗?(或者使用 document.execCommand 安全吗?)

我正在使用 vanilla JavaScript 构建一个业余的富文本编辑器,并且 document.execCommand() 对于启用文本编辑器的核心功能至关重要。

例如粗体、斜体和无序列表命令:

Array.from(toolbarBtn).forEach(btn => {
  btn.addEventListener('click', (e) => {
    e.preventDefault();
    if (e.target.id === "toolbar__btn--bold") {
      format('bold');
    }
    if (e.target.id === "toolbar__btn--italic") {
      format('italic');
    }
    if (e.target.id === "toolbar__btn--unorderedlist") {
      format('insertunorderedlist');
    }
});
});

Run Code Online (Sandbox Code Playgroud)

但是,在 MDN Web Docs 上查找此命令时,我发现此命令已过时:

过时 此功能已过时。尽管它可能在某些浏览器中仍然有效,但不鼓励使用它,因为它可以随时被删除。尽量避免使用它。

所以,我想知道在 vanilla JavaScript 中是否有任何替代方法可以创建像 execCommand() 那样的所有富文本编辑器功能?

谷歌搜索没有给我任何结果,所以同时,我想知道,该方法被宣布已过时,但没有建议的替代方法怎么可能。

javascript rich-text-editor execcommand

11
推荐指数
2
解决办法
2994
查看次数

粗体的 ExecCommand 函数的定义?

ExecCommand 提供了一种在 iFrame 中加粗文本、使其成为斜体、下划线等的方法。

但是它缺少创建<cite><strong>或的选项<em>formatBlock但仅用于块元素而不是内联元素)。

我想使用 ExecCommand 函数进行创建<cite>- 有什么方法可以实现吗?很显然我要保持完美无瑕的解析像的情况下bold,而不是像surroundContents当您使用它两次相同的选择,这将失败。

我正在寻找 ExecCommand 粗体命令的定义或一种使用现有命令完美添加<cite>. 有什么建议?我无法从浏览器的功能中提取它。当我尝试这样做时,它会显示“本机代码”。

javascript contenteditable execcommand

6
推荐指数
1
解决办法
1406
查看次数