我想使用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
答案 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
的整个内容。