最近项目中需要使用文本编辑器,比较了下最终选择了TinyMCE这款富文本编辑器。
我安装的是TinyMCE v5但是在使用表情插件的时候,表情一直都出不来,报错信息如下:
Uncaught SyntaxError: Unexpected token '<'
Failed to load emoticons: Script at URL
"http://xxxx/static/js/plugins/emoticons/js/emojis.js" did not call
`tinymce.Resource.add('tinymce.plugins.emoticons', data)` within 1 second
这个是路径出问题了,导致emojis.js没有被正确导入,所以表情也就没有出来。
经过测试,发现解决办法是设置emoticons_database_url。
先把emojis.js放在public目录下(注:vue-cli2是static目录),然后设置emoticons_database_url为public下emojis.js的路径。
完整代码如下:
template:
<template>
<div>
<editor
id="tinymce"
v-model="tinymceHtml"
:init="editorInit"
>
</editor>
</div>
</template>
script:
<script>
import tinymce from 'tinymce/tinymce'
import Editor from '@tinymce/tinymce-vue'
import 'tinymce/plugins/emoticons'//插入表情插件
export default{
componens:{Editor},
data(){
return {
editorInit:{
height: 300,
plugins: 'emoticons',
emoticons_database_url: '/emojis.js',
toolbar:'undo redo | formatselect | emoticons | removeformat',
}
}
}
}
</script>
最后出来的效果如下:
版权声明:本文为u010007013原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。