当前位置:

首页 > 编程开发 > KindEditor 4.x 在线编辑器常用方法小结

KindEditor 4.x 在线编辑器常用方法小结

KindEditor4.x通过create方法绑定textarea实现编辑器交互,支持allowFileManager、allowImageUpload等配置项。常用方法包括获取HTML内容、插入内容、判断是否为空、设置只读等。文件管理功能需加载插件,支持浏览服务器文件、上传图片及本地文件。

KindEditor和jQuery的配合其实相当直接,一句`KindEditor.create('#nr')`就能完成绑定。需要留意的是,`create`方法里的参数,就是页面上那个`textarea`的ID,只要对应上,编辑器就能正常工作。

HTML部分的结构也很标准,就是下面这个`textarea`标签,宽度和高度可以直接在`style`属性里设定,方便布局。

HTML部分

--------------

接下来,我们聊聊几个关键的配置项,它们决定了编辑器的功能边界。

核心配置选项

allowFileManager:这个选项控制是否允许用户浏览服务器上已经上传过的文件。默认值是`false`,意味着上传后自己都看不到历史文件——这显然不是大多数场景想要的结果。通常建议开启。

allowImageUpload:是否允许用户上传本地图片。默认是`true`,这个一般保持开启就好。

allowFlashUpload 与 allowMediaUpload:这两个选项分别控制是否允许上传Flash文件和多媒体文件,默认值也都是`true`。

pasteType:这是关于粘贴行为的设置,分为三种情况:0代表禁止粘贴,1代表只粘贴纯文本,2代表粘贴HTML格式(也是默认值)。对于大多数内容编辑场景,保持HTML粘贴是比较方便的。

resizeType:控制编辑器能否被用户拖拽改变大小。0是不能改变,1是只能改变高度,2是宽度和高度都可以改变(默认值)。

themeType:主题风格,可以设置成`default`或`simple`。如果选择`simple`,别忘了额外引入对应的样式文件。

designMode:这个选项决定了编辑器是可视化模式还是代码模式。数据类型是布尔值,默认是`true`(可视化模式)。

afterCreate:这是一个回调函数,在编辑器创建完成后触发。可以在这里执行一些初始化操作,比如弹个提示框,或者绑定其他事件。

fontSizeTable:用来定义字号下拉菜单里的选项,默认提供了从9px到32px的序列。

colorTable:定义取色器面板里的颜色列表,默认有一套从红色到黑色的渐变颜色组。

------

说完了配置,再来看一些常用的交互方法,这些在开发中会频繁用到。

常用方法调用

Ctrl+Enter提交:一个很实用的功能,可以通过`afterCreate`回调来绑定。核心逻辑是监听`Ctrl+Enter`键,先将编辑器内容同步到`textarea`,然后再执行提交操作。

------

假设我们把编辑器实例赋值给了一个变量`editor`,那么下面的操作就变得非常灵活:

编辑器获取焦点:调用`editor.focus()`方法就可以让光标定位到编辑器中。

取得编辑器HTML内容:使用`editor.html()`方法,可以拿到编辑器里包含所有格式的完整内容。

取得编辑器纯文本内容:使用`editor.text()`方法,它会剥离所有HTML标签,只返回纯文本。

移除编辑器:调用`editor.remove()`方法,可以销毁编辑器实例,清理掉它占用的DOM元素和事件。

设置编辑器HTML:使用`editor.html('编辑器内容')`,可以动态地向编辑器里写入带格式的内容。

设置编辑器纯文本内容:使用`editor.text('编辑器内容')`,它会将字符串作为纯文本显示,也就是把HTML标签原样显示出来。

判断编辑器内容是否为空:`editor.isEmpty()`方法会返回一个布尔值,可以据此来判断内容是否为空,并进行相应的提示。

在光标处插入内容:`editor.insertHtml('插入内容')`可以将指定的HTML代码插入到当前光标所在位置。

在编辑器末尾追加内容:`editor.appendHtml('追加内容')`可以将HTML内容添加到编辑器内容的最后。

切换全屏模式:`editor.fullscreen()`方法可以让编辑器立即进入或退出全屏模式。

设置只读状态:`editor.readonly(false)`方法,传入`true`开启只读,传入`false`则取消只读。

------

接下来是比较进阶的功能,涉及到与服务器的交互:文件管理和上传。

浏览服务器文件与上传

浏览服务器已上传文件

要实现这个功能,需要提前准备好几个资源:

1. 首先,必须引入编辑器的默认样式文件`default.css`。

2. 其次,必须引入两个Ja vaScript文件:`kindeditor-min.js`和`lang/zh_CN.js`。

3. 最后,通过Ja vaScript代码来触发。核心思路是使用`KindEditor.editor()`创建一个对话框实例,然后通过`loadPlugin`方法加载`filemanager`插件。在`filemanagerDialog`的配置中,`viewType`可以设置成`VIEW`(缩略图)或`LIST`(列表)来展示文件。`dirName`参数则指定了要浏览的文件夹类型,默认支持`image`、`flash`、`media`、`file`四种。点击文件后,`clickFn`回调函数会被触发,你可以在这里获取到文件的URL和标题,并做后续处理,比如将URL填入某个输入框。

上传本地文件到服务器

这个功能同样需要引入样式文件和Ja vaScript文件。实现方式是通过`KindEditor.uploadbutton`方法创建一个上传按钮。你需要指定按钮的DOM元素、上传文件字段名(通常是`imgFile`)、以及服务器端的上传处理程序URL。在`afterUpload`回调中,可以处理上传成功后的逻辑,比如获取返回的URL;`afterError`则用于处理上传失败的情况。

上传图片(包含选择已上传图片)

这个功能可以看作是前两个功能的组合。它需要引用`default.css`、`kindeditor-min.js`和`lang/zh_CN.js`三个文件。通过`KindEditor.editor`实例,并设置`allowFileManager : true`来开启浏览服务器文件的功能。点击按钮后,加载`image`插件,调用`imageDialog`方法。在对话框中,用户既可以上传新图片,也可以切换到“网络图片”或“服务器图片”标签页,选择已上传的文件。`clickFn`回调函数会返回图片的URL、标题、宽度、高度、边框和对齐方式等信息,方便你将这些信息应用到页面中。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发
相关文章 更多
在kindEditor中获取当前光标的位置索引的实现代码
在kindEditor中获取当前光标的位置索引的实现代码

KindEditor编辑器可通过`editor.cmd.range.startOffset`和`endOffset`属性分别获取当前光标位置的起始与结束索引,两者结合即可准确获取用户选中的文字内容,便于实现文本选中操作。

KindEditor 编辑器 v3.5.1 修改版
KindEditor 编辑器 v3.5.1 修改版

这次主要做了两个改动:一是加入了分页符功能,二是把Tab事件调整为添加两个全角空格——这样更符合中文用户的输入习惯。 如图,下载地址如下: kindeditor-3.5.1-zh_CN-kingeric.rar 顺便提几点意见和咨询: 从Word文档复制内容到编辑器时,如何过滤掉原有格式?别只推荐用

Java KindEditor粘贴图片自动上传到服务器功能怎么实现
Java KindEditor粘贴图片自动上传到服务器功能怎么实现

图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,找到UM.plugins['autoupload'],然后找到autoUploadHandler方法,注释掉其中的代码。加入下面的代码://判断剪贴板的内容是否包含文本//首先解释一下为什么要判断文本是不是为空//在ctrl+cword中的文字或者图片之后会返回1种(image/png)或者4种typ

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
Postman macOS版
Postman macOS版
Mac

Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。

Docker Desktop macOS版
Docker Desktop macOS版
Mac

Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。

Android Studio macOS版
Android Studio macOS版
Mac

Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。

WINDOWS 更多
PixPix 网页版
PixPix 网页版
Windows

PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。

Postman Windows版
Postman Windows版
Windows

Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等

Docker Desktop Windows版
Docker Desktop Windows版
Windows

Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。