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 选项。 |