← 全部文档

RichTextEditor 方法

RichTextEditor 提供以下方法。

方法说明
duplicateCurrentBlock()仅限较新的源码 core 构建(并非每个已发布的打包版本都有):复制选区所在的块,并把光标放到副本中。唯一 id 和审阅标识不会被复制。只读/仅批注内容、不受支持的行合并以及建议模式会拒绝此操作。返回 true 可能表示一次受保护的空操作,并不能证明内容已被复制。在较旧的运行时上使用之前,请先检查 typeof editor.duplicateCurrentBlock。
recordUndo()记录当前文档并提交其撤销步骤。在自定义 DOM 编辑之后调用它,可以让这次更改能够被撤销。
makePanelResizable(panel, opts)从 core 2.6.11 起提供。为侧边面板元素添加一个可拖动、可用键盘操作(ArrowLeft / ArrowRight / Home / End)的调整大小边缘。opts:以 px 为单位的最小和最大宽度(默认 240 / 720),以及供屏幕阅读器使用的 label。会触发 panelresized 事件。返回手柄元素;如果面板不存在或已经可调整大小,则返回 null。
setListStart(n)设置选区处有序列表的起始编号,可以为 0。如果没有选中有序列表或 n 无效,则返回 false。
continueListNumbering()让选中的有序列表接续前一个有序列表的编号。如果找不到合适的列表,则返回 false。
toggleTableCaption()添加或移除选中表格的标题,并记录一个撤销步骤。如果没有选中表格,则返回 false。
execCommand(cmd,value)对当前选区或给定范围执行命令。
attachEvent(name,handler)注册事件处理函数。编辑器加载并运行之后即可使用。
detachEvent(name,handler)从事件中移除一个事件处理函数。
getHTMLCode()此方法用于以 HTML 形式获取 RichTextEditor 的内容。
setHTMLCode(html)此方法用于设置 RichTextEditor 的内容。
getReadOnly()返回一个值,指示编辑器在客户端是否为只读状态。
setReadOnly(bReadOnly)用于启用或禁用只读模式。
isCommandEnabled(cmd)获取指定命令是否处于启用状态。
isCommandActive(cmd)检查此命令当前能否执行。
focus() 尝试让编辑器内容窗口获得焦点。
setContentCssText(text) 此方法用于设置可编辑区域所使用的内联 CSS 文本。
insertRootParagraph(tagname) 此方法用于在编辑器底部插入一个新段落。
insertByTagName(tagName) 按标签名插入一个元素。
surroundByTagName(tagName) 获取选区的内容并放入一个元素中,然后插入这个新元素。
insertElement(element) 插入一个元素。该元素必须由 editor.document 创建。
surroundElement(element)使用 editor.document 创建一个元素,把选区的内容放入该元素中,然后插入这个新元素。
insertText(text) 此方法用于把指定的纯文本插入编辑器文档。
insertHTML(text)此方法用于把指定的 HTML 插入编辑器文档中的某个范围。如果已选中内容,选区会被新的 HTML 和文本替换。
selectControl(element) 选中一个控件。
selectDoc(bStart) 选中整个文档。bStart 是一个布尔值:true 把选区移到起点,false 移到终点。省略时默认为 false。
collapse(bStart) 把当前选区折叠为一个点。bStart 是一个布尔值:true 把范围折叠到起点,false 折叠到终点。省略时默认为 false。
delete() 删除选区。
commitBookmark() 为撤销记录创建一个书签。
clearHistory() 清除所有撤销/重做记录。
notifySelectionChange() 通知编辑器内容发生了变化。
htmlEncode(text) 把字符串转换为经过 HTML 编码的字符串。
htmlDecode(html) 把为 HTTP 传输而经过 HTML 编码的字符串转换为解码后的字符串。
getSelection()返回 editor.selection 对象。
getDocument()返回 editor.document 对象。
getEditable() 返回可编辑区域的根元素。
ensureStyleSheetLive(doc,element,id,csstext)在追加您自己的 <style> 元素之后立即调用。通常它什么也不做:只有当严格的内容安全策略清空了该元素时才会起作用,此时它会通过 CSSOM 重新注入相同的 CSS,使规则生效,而不是被悄悄丢弃。把您的 <style> 元素作为主要途径,才能保持它在层叠中的位置。
injectStyleSheet(doc,id,csstext)不使用 <style> 元素,直接向给定的 document 添加样式表,因此在严格的 style-src 下也能生效。在没有需要保留的元素时使用它;如果有,请优先使用 ensureStyleSheetLive(),因为这些规则会进入一个采用的样式表,排在文档中所有样式表之后。以相同的 id 和不同的 CSS 再次调用,会更新已有的样式表。
getPlainText() 返回 editor.document.body.innerText 对象。
getJSON()加载了结构化内容桥接时可用。返回当前编辑器内容的语义化 JSON 文档模型。
setJSON(documentModel)加载了结构化内容桥接时可用。从结构化 JSON 文档模型恢复编辑器内容。
getSelectedControl() 返回选中的控件对象。
getSelectionElement() 返回选中的元素对象。
getSelectedText() 返回选中的纯文本。
createToolbarButton(cmd)在工具栏中创建一个使用默认样式的按钮。详情请参阅插件示例。
createToolbarDropDown(cmd)在工具栏中创建一个使用默认样式的下拉菜单。详情请参阅插件示例。
createDialog(title,className)创建一个使用默认样式的对话框。详情请参阅插件示例。
closeCurrentPopup()尝试关闭所有弹出框/下拉菜单/菜单/对话框。
setImageForCommand(element,cmdname)为元素添加 cmdname 对应的图像(svg 或 png)。
destroy()拆除编辑器,释放其监听器和 DOM。在 SPA 中卸载时调用;prepareDestroy() 是它的别名。
getHTML() / setHTML(html)getHTMLCode() 和 setHTMLCode() 的别名。
bindDocumentEvent(type, handler, capture)从 core 2.6.10 起提供。在编辑 document 上监听事件(keydown、input 等)。请用它代替 getDocument().addEventListener:当编辑框架得到一个新 document 时,编辑器会重新附加它(参见 documentreplaced 事件)。
bindEditableEvent(type, handler, capture)从 core 2.6.10 起提供。作用相同,但作用于可编辑的 body(getEditable())。
runInSavedView(fn)从 core 2.6.10 起提供。在编辑区域显示的内容与将要保存的内容完全一致时运行 fn(调用期间会关闭插件预览,例如合并字段示例),并返回 fn 的结果。任何需要读取计算样式或布局的导出都应使用它。
cancelUploads(reason)取消所有仍在进行中的上传,并返回取消的数量。如果处理程序返回了中止函数,则调用它,并忽略迟到的结果。destroy() 也会取消上传。对于已从文档中删除的图片,其结果会被丢弃;仅仅删除图片并不能保证立即中止网络请求。
getPendingUploadCount()仍在进行中的上传数量。
uploadEmbeddedImages(callback)通过 file_upload_handler 上传内容中已以 base64 data: URL 形式嵌入的图片——这些内容可能是用 setHTMLCode 设置的、从网页粘贴的,或从草稿恢复的——并把每个 src 替换为返回的 URL。回调会收到 { uploaded, failed, skipped, errors }。http(s) 图片保持不变;没有配置处理程序时,什么也不会改变。
getText() / setText(text)getPlainText() 和 setPlainText() 的别名。
setPlainText(text)用纯文本替换文档;每个换行都会成为一个单独的块。
formatChanged(formats, callback)订阅格式/命令状态的变化,让自定义工具栏无需轮询即可跟踪活动状态。与 TinyMCE 的 formatChanged() 相对应;由与内置工具栏相同的刷新机制驱动,因此订阅者不会与之脱节。也可以通过 editor.formatter.formatChanged 使用。
getSelectedHTML()以 HTML 字符串形式返回当前选区。
getStatistics()返回编辑器的内容统计信息(字数、字符数及相关计数)。
showWordCount()打开字数统计对话框。
showShortcuts()打开键盘快捷键速查表(Cmd/Ctrl + /)。
toMarkdown()以 CommonMark 形式返回当前内容。
fromMarkdown(md, opts)解析 CommonMark 并替换内容。
exportPdf(options)把文档导出为带标签的矢量 PDF。
printPreview()打开当前文档的打印预览。
insertImageByUrl(url, alt)从 URL 在光标处插入一张图片。可选的 alt 用于设置替代文本(core 2.6.5+);不提供时不会写入 alt 属性。
openFindDialog()打开查找和替换对话框。
findHighlight(query, options)不打开对话框,直接高亮显示查询的所有匹配项。
clearFindHighlights()移除由 findHighlight() 添加的高亮。
markAllOccurrencesOfSelection()高亮显示当前选区内容的所有出现位置。
toggleReadingMode(state) / isReadingMode()开启或关闭无干扰阅读视图,并报告其状态。
setCommentsOnly(bVal) / getCommentsOnly()把编辑限制为只能添加批注,并报告该模式是否处于活动状态。
applyMathMarkup() / renderMath()把 TeX 转换为编辑器的数学标记,并在页面上有 KaTeX 或 MathJax 时进行渲染。
setPreviewCssText(text)设置预览模式使用的内联 CSS。
getLangText(key)查找当前语言的本地化界面字符串。
fireEvent(name, ...args)以编程方式调用一个事件钩子。
autoSave设置了 config.autoSave 时存在。在用户输入时保存到您自己的服务器:trigger() 立即保存,retryNow() 立即重试一次失败的保存,hasUnsavedChanges() 报告是否仍有未完成的保存,isDirty() 把内容与上次保存的版本进行比较,lastSavedAt() 返回时间戳。失败的保存会以加倍的延迟重试,并在浏览器恢复联网时重试,重新发送失败的那份快照。autosaved 和 autosavefailed 事件分别报告两种结果。如果需要的是浏览器端草稿,请参阅 localDraft 选项。