文本编辑器 为何选择 wangEditor 简洁、轻量级、文档齐全 万星项目 Github Star 1w+ npm 周下载量 1w+ CDN 月下载量百万+(来自 jsdelivr) 开源团队维护,非个人单兵作战
基本使用
npm 安装 npm i wangeditor --save
CDN 链接 https://cdn.jsdelivr.net/npm/wangeditor@latest/dist/wangEditor.min.js
使用 js 外链引入
<div id="div1">
<p>欢迎使用 <b>wangEditor</b> 富文本编辑器</p>
</div>
<!-- 引入 wangEditor.min.js -->
<script type="text/javascript">
const E = window.wangEditor
const editor = new E('#div1')
// 或者 const editor = new E( document.getElementById('div1') )
editor.create()
</script>
使用 npm 安装
import E from 'wangeditor'
const editor = new E('#div1')
// 或者 const editor = new E( document.getElementById('div1') )
editor.create()
使用 textarea
<div id="div1">
<p>欢迎使用 <b>wangEditor</b> 富文本编辑器</p>
</div>
<textarea id="text1" style="width:100%; height:200px;"></textarea>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<!-- 引入 wangEditor.min.js -->
<script type="text/javascript">
const E = window.wangEditor
const editor = new E('#div1')
const $text1 = $('#text1')
editor.config.onchange = function (html) {
// 第二步,监控变化,同步更新到 textarea
$text1.val(html)
}
editor.create()
// 第一步,初始化 textarea 的值
$text1.val(editor.txt.html())
</script>
配置菜单
编辑器创建之前
editor.config.menus
editor.config.excludeMenus
【注意】不要同时使用 editor.config.menus 和 editor.config.excludeMenus,以免引起冲突和混乱。
使用 editor.config.menus 定义显示哪些菜单和菜单的顺序。
<div id="div1">
<p>欢迎使用 wangEditor 编辑器</p>
</div>
<!-- 引入 wangEditor.min.js -->
<script type="text/javascript">
const E = window.wangEditor
const editor = new E('#div1')
// 配置菜单栏,删减菜单,调整顺序
editor.config.menus = [
'bold',
'head',
'link',
'italic',
'underline'
]
editor.create()
</script>
使用 editor.config.excludeMenus 当只需剔除少数菜单的时候,直接设置不需要的菜单
<div id="div1">
<p>欢迎使用 wangEditor 编辑器</p>
</div>
<!-- 引入 wangEditor.min.js -->
<script type="text/javascript">
const E = window.wangEditor
const editor = new E('#div1')
// 配置菜单栏,设置不需要的菜单
editor.config.excludeMenus = [
'emoticon',
'video'
]
editor.create()
</script>
默认情况下会显示所有的菜单,配置如下:
// 默认情况下,显示所有菜单
editor.config.menus = [
'head',
'bold',
'fontSize',
'fontName',
'italic',
'underline',
'strikeThrough',
'indent',
'lineHeight',
'foreColor',
'backColor',
'link',
'list',
'todo',
'justify',
'quote',
'emoticon',
'image',
'video',
'table',
'code',
'splitLine',
'undo',
'redo',
]
上传图片配置服务端接口
const E = window.wangEditor
const editor = new E('#div1')
// 配置 server 接口地址
editor.config.uploadImgServer = '/upload-img'
editor.create()
server 接口返回格式,重要!!! 接口要返回 application/json 格式,格式要求如下:
{
// errno 即错误代码,0 表示没有错误。
// 如果有错误,errno != 0,可通过下文中的监听函数 fail 拿到该错误码进行自定义处理
"errno": 0,
// data 是一个数组,返回图片Object,Object中包含需要包含url、alt和href三个属性,它们分别代表图片地址、图片文字说明和跳转链接,alt和href属性是可选的,可以不设置或设置为空字符串,需要注意的是url是一定要填的。
"data": [
{
url: "图片地址",
alt: "图片文字说明",
href: "跳转链接"
},
{
url: "图片地址1",
alt: "图片文字说明1",
href: "跳转链接1"
},
"……"
]
}
更多配置详见
https://www.wangeditor.com/doc/