CKEDITOR4提到了带有ajax的插件:javascript错误



我在使用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'
}
] 

我刚刚将后端的数据调整为上面的结构。

最新更新