使用CKEDITOR.dom.node.remove()时出错&x2B;使用CKEDITOR时向下投射';s小部件API

使用CKEDITOR.dom.node.remove()时出错&x2B;使用CKEDITOR时向下投射';s小部件API,ckeditor,Ckeditor,我在插件plugin.js的第2509行得到一个未捕获类型错误:无法读取null的属性'attributes' 我们之前没有错误,但后来将我们的插件转换为一个小部件,并且出现了向下转换的问题,这会阻止我们的CMS(Drupal+WYSIWYG插件)保存更新的内容 我们创建了一个上下文菜单项“delete”,它使用CKEDITOR.dom.node.remove(),当我们这样做时,它会在向下广播时抛出错误。使用剪贴板插件的键盘“剪切”命令不会在向下播放时抛出错误 从编辑器中销毁、删除或删除小部件

我在插件plugin.js的第2509行得到一个
未捕获类型错误:无法读取null的属性'attributes'

我们之前没有错误,但后来将我们的插件转换为一个小部件,并且出现了向下转换的问题,这会阻止我们的CMS(Drupal+WYSIWYG插件)保存更新的内容

我们创建了一个上下文菜单项“delete”,它使用CKEDITOR.dom.node.remove(),当我们这样做时,它会在向下广播时抛出错误。使用剪贴板插件的键盘“剪切”命令不会在向下播放时抛出错误

从编辑器中销毁、删除或删除小部件的正确方法是什么

我试过了,但是没有。而且,它不是我试图强制使用inline()的块级元素

它在这里失败,使用element.getFirst(),然后错误发生在
if(widgetElement.attributes…

if ( 'data-cke-widget-id' in attrs ) {
                    widget = widgetsRepo.instances[ attrs[ 'data-cke-widget-id' ] ];
                    if ( widget ) {
                        widgetElement = element.getFirst( isParserWidgetElement );
                        toBeDowncasted.push( {
                            wrapper: element,
                            element: widgetElement,
                            widget: widget,
                            editables: {}
                        } );

                        // If widget did not have data-cke-widget attribute before upcasting remove it.
                        if ( widgetElement.attributes[ 'data-cke-widget-keep-attr' ] != '1' )
                            delete widgetElement.attributes[ 'data-widget' ];
                    }
                }

这是我的开发人员错误。我没有删除小部件的父包装。如果您在删除()中遇到此错误,请确保检查DOM并确保小部件包装被删除。如果它仍然存在,则您的操作是错误的,需要更好地针对您的删除()