2

我正在使用 mceInsertContent 在 Tinymce 编辑器中插入外部文本。此文本需要标签(例如<tag>text</tag>),因为稍后需要搜索此标签......当插入它是连续的时会发生问题。

一个通用的例子,它点击了 3 次:

<button onclick="tinyMCE.execCommand('mceInsertContent',false,'<tag>text</tag>');">

然后在编辑器中查看生成的 html:

预期结果:

<tag>text</tag><tag>text</tag><tag>text</tag>

实际结果:

<tag>text<tag>text<tag>text</tag></tag></tag>

有没有办法禁用这种转换?

甚至将光标定位在其他地方(点击之间)并返回到插入的前面......不起作用。

4

4 回答 4

2

您可以在文本末尾添加 '\uFEFF'。

<button onclick="tinyMCE.execCommand('mceInsertContent',false,'<tag>text</tag>\uFEFF');">

我已经在 Chrome 中测试了这个解决方案。

于 2013-05-08T12:57:15.997 回答
0

利用

    文本');">

在 HTML 末尾使用空格字符

于 2018-10-22T06:48:49.040 回答
0

您可以在 html 的末尾添加 ( ) 空格字符。

于 2018-10-22T06:53:22.200 回答
0

我对标签和 mceInsertContent 也有类似的问题。在我的情况下发生的事情是我正在插入包含在跨度标记中的内容,并且在插入后,跨度保持打开状态,即使我可以看到结束跨度标记。在最后添加 '\uFEFF' 字符串是可行的,但是我必须将整个元素组合成一个调用。在此之前,我连续使用了一些 mceInsertContent 命令来构建元素并将 \uFEFF 添加到末尾并没有在那里工作,直到我将所有内容组合成一行。

        tinymce.activeEditor.execCommand('mceInsertContent', false, "<span class=\'ima\' style=\'color:blue\'>");
        tinymce.activeEditor.execCommand('mceInsertContent', false, "<-");
        tinymce.activeEditor.execCommand('mceInsertContent', false, "UNKNOWN (" + curPos + ")");
        tinymce.activeEditor.execCommand('mceInsertContent', false, "->");
        tinymce.activeEditor.execCommand('mceInsertContent', false, "</span>\uFEFF");

没用,但是:

tinymce.activeEditor.execCommand('mceInsertContent', false, "<span class=\'ima\' style=\'color:blue\'><-UNKNOWN (" + curPos + ")-></span>\uFEFF");

工作过

于 2021-06-25T19:20:36.540 回答