如何从TinyMCE获取高亮文本?

时间:2018-03-11 13:51:56

标签: javascript wordpress tinymce

我想使用TinyMCE提取用户突出显示的文本。我已经能够使用TinyMCE API提取整个文本,甚至只使用getNode()选择的段落。我认为getSel()会这样做,但它返回一个对象,我想要字符串。

var content = tinymce.activeEditor.selection.getSel();
console.log(content);

返回:

Selection {anchorNode: text, anchorOffset: 259, focusNode: text, focusOffset: 286, isCollapsed: false, …}

TinyMCE:https://www.tinymce.com/docs/api/tinymce.dom/tinymce.dom.selection/#getsel

我还在JavaScript中找到了getSelection,但它似乎无法在Chrome中正常运行。无论哪种方式,我都喜欢使用TinyMCE API。 https://developer.mozilla.org/en-US/docs/Web/API/Window/getSelection

1 个答案:

答案 0 :(得分:1)

基于tinymce.com/docs/api/tinymce.dom/tinymce.dom.selection/#getcontent的官方文档:

// Alerts the currently selected contents
alert(tinymce.activeEditor.selection.getContent());

// Alerts the currently selected contents as plain text
alert(tinymce.activeEditor.selection.getContent({format: 'text'}));

您可以像这样编写代码:

var content = tinymce.activeEditor.selection.getContent();
console.log(content);

[编辑] 或者获取纯文本内容:

var content = tinymce.activeEditor.selection.getContent({format: 'text'});
console.log(content);

请注意tinymce.activeEditor.selection.getContent()tinymce.activeEditor.getContent()之间的区别。

  • tinymce.activeEditor.selection.getContent() - 在编辑器/ textarea中获取所选 /突出显示内容的HTML或纯文本。

  • tinymce.activeEditor.getContent() - 获取编辑器/ textarea整个内容。