自定义表情
最后更新于:2022-04-01 23:41:33
从`v2.1.0`版本开始,wangEditor支持使用**表情包**的方式来配置表情图片。此前需要一个一个配置表情图片的方式,我自己都觉得很难受,好在现在已经OK了。
----
**第一,表情包是什么鬼?**
这里的表情包,其实就是一段`js`代码,总体看来是一个数组,数组内的每个元素都是一个对象,格式如下:
```js
// 整体看来是一个数组,数组每个元素都是一个对象
[
{
// icon 的属性值时该表情的图片地址,'icon'这个属性名,也可以用'url'来代替
'icon': 'http://img.t.sinajs.cn/t35/style/images/common/face/ext/normal/60/horse2_thumb.gif',
// value 的属性值是表情的『值』,即通过这个『值』即可对应到某个特定的表情
'value': '[草泥马]'
},
{
'icon': '......',
'value': '...'
},
{
'icon': '......',
'value': '...'
}
]
```
你还可以参考一下新浪的表情包:https://api.weibo.com/2/emotions.json?source=1362404091 ,还有这个:http://yuncode.net/code/c_524ba520e58ce30
下文中所说的『表情包』需要的就是上述的一段js代码而已。
---
**第二,通过 `editor.config.emotions` 自定义配置表情**
代码如下,注意看注释
```js
var editor = new wangEditor('editor-trigger');
// 配置自定义表情,在 create() 之前配置
editor.config.emotions = {
// 支持多组表情
// 第一组,id叫做 'default'
'default': {
title: '默认', // 组名称
data: './emotions.data' // 服务器的一个json文件url,例如官网这里配置的是 http://www.wangeditor.com/wangEditor/test/emotions.data
},
// 第二组,id叫做'weibo'
'weibo': {
title: '微博表情', // 组名称
data: [ // data 还可以直接赋值为一个表情包数组
// 第一个表情
{
'icon': 'http://img.t.sinajs.cn/t35/style/images/common/face/ext/normal/7a/shenshou_thumb.gif',
'value': '[草泥马]'
},
// 第二个表情
{
'icon': 'http://img.t.sinajs.cn/t35/style/images/common/face/ext/normal/60/horse2_thumb.gif',
'value': '[神马]'
}
// 下面还可以继续,第三个、第四个、第N个表情。。。
]
}
// 下面还可以继续,第三组、第四组、、、
};
editor.create();
```
----
**第三,可以使用 `editor.config.emotionsShow` 来配置显示方式**
编辑器默认情况下将`editor.config.emotionsShow`赋值为`icon`,你也可以将该配置修改为`value`,如下代码:
```js
var editor = new wangEditor('editor-trigger');
// 将显示方式改为 value ,要在 create() 之前修改
editor.config.emotionsShow = 'value';
editor.create();
```
两者有何区别呢?
当`editor.config.emotionsShow = 'icon'`时,插入的表情会显示真正的图片,获取编辑器的源码时,也会是一个图片,如下图:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-03_5700ea4456fbb.png)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-03_5700ea45e9da2.png)
当`editor.config.emotionsShow = 'value'`时,插入的表情会显示`value`,获取编辑器的源码时,也会是`value`值,如下图:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-03_5700ea460bcb2.png)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-03_5700ea4620f9e.png)
----
如果配置的表情图标取不到图片,浏览器的控制台会有错误提示,注意查看。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-29_56ab6d05c49c3.png)
';