我在使用CKEDITOR 4和提及插件时出现javascript错误。
我两天都解决不了这个问题,我被卡住了。
我已经使用在线构建器获得了CKEDITOR+Mentions插件。
请在此处查看我的构建:https://ckeditor.com/cke4/builder/fbe187b32ec7c025e28e01a537c72c62
使用以下配置,它可以很好地工作:我看到了包含以下名称的下拉列表:Anna、Thomas、John
CKEDITOR.config.mentions=[{提要:[‘安娜’、‘托马斯’、‘约翰’]}];
然而,在进行ajax调用以获取数据时,我得到了一个javascript错误:
脚本/ajax_mentation.php
显示
["安娜"、"托马斯"、"约翰"]
具有以下配置:
CKEDITOR.config.mentions=[{feed:'/ajax_mention.php'}];
当我在编辑器中键入"@anna";,名称不显示
/ajax_mentation.php脚本启动并显示正确的数据(当我在Chrome上查看"网络"选项卡时,请参阅屏幕截图(
["安娜"、"托马斯"、"约翰"]
然而,这会触发一个javascript错误(查看Chrome控制台选项卡。请参阅屏幕截图(
ckeditor.js?1645882460:916 Uncaught TypeError: Cannot read properties of null (reading 'addClass')
at g.selectItem (ckeditor.js?1645882460:916:473)
at d.onSelectedItemId (ckeditor.js?1645882460:912:276)
at f.q (ckeditor.js?1645882460:10:246)
at f.fire (ckeditor.js?1645882460:12:91)
at f.select (ckeditor.js?1645882460:920:294)
at f.selectFirst (ckeditor.js?1645882460:920:371)
at d.open (ckeditor.js?1645882460:910:503)
at d.modelChangeListener (ckeditor.js?1645882460:911:234)
at f.q (ckeditor.js?1645882460:10:246)
at f.fire (ckeditor.js?1645882460:12:91)
请参阅屏幕副本:https://polyglotclub.com/bug_ckeditor_mentions.jpg
屏幕复制
Ckeditor团队给出了解决方案:请参阅https://github.com/ckeditor/ckeditor4/issues/5107
当我们在数组中使用硬编码数据时,例如[Anna,'Geralt'],createArrayFeed((函数会将输入结构从上面提到的更改为:
[
{
id: 1,
name: 'Anna'
},
{
id: 2,
name: 'Geralt'
}
]
我刚刚将后端的数据调整为上面的结构。