Amb*_*dex 5 javascript ckeditor drupal-8
在CKEditor 4.6.2(目前捆绑在Drupal 8中)默认情况下禁用ACF,以确保某些特殊插件正常工作.所以为了记录:我不想启用ACF,也不能使用allowedContent或disallowedContent.我试图阻止一些元素从Word上注入(像h1和p[styles]).
为了实现这一点,我试图将这些添加到pasteFilter非Word粘贴内容上,但是当从Word粘贴时pasteFilter似乎被忽略了?这是一个错误吗?
那么,我怎么能:
pastefromword启用状态 - 检测缩进和列表等特殊的Word样式.h1,style="font-family: Verdana"等...处理从 Word 粘贴的内容需要进行大量的标记处理才能将其转换为干净的语义内容。Word 过滤器的粘贴非常具体,涵盖了许多边缘情况(尤其是嵌套列表)。从Word 粘贴时有自己的过滤器并且不重用ACF 规则的原因是它可能会导致一些冲突——本期对此进行了描述。
目前,有一种开箱即用的方法可以为从 Word 粘贴的内容添加额外的过滤功能。但是,您可以利用afterPasteFromWord事件来过滤粘贴的数据,例如:
var editor = CKEDITOR.replace( 'editor1' );
editor.on( 'afterPasteFromWord', function( evt ) {
    var filter = editor.activeFilter, // Use activeFilter so it reflects ACF settings.
    // var filter = new CKEDITOR.filter( 'p b' ), // Use custom new filter.
        fragment = CKEDITOR.htmlParser.fragment.fromHtml( evt.data.dataValue ),
        writer = new CKEDITOR.htmlParser.basicWriter();
    filter.applyTo( fragment );
    fragment.writeHtml( writer );
    evt.data.dataValue = writer.getHtml();
} );
Run Code Online (Sandbox Code Playgroud)
请参阅此 codepen 演示。
您也可以参考 和 的官方CKEDITOR.filter.applyTo文档CKEDITOR.editor.activeProperty。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           439 次  |  
        
|   最近记录:  |