我已将CKEditor 5用于我的社交网站。我曾尝试实现一个插件,即“粘贴为纯文本(https://ckeditor.com/cke4/addon/pastetext)”,但此插件无法正常工作。 每当有人粘贴我的编辑器时,链接就会消失。我想像记事本一样以纯文本形式发短信。
您的帮助将不胜感激.. !!
<script>
ClassicEditor
.create( document.querySelector( '#editor' ), {
toolbar: [ 'heading', '|', 'bold', 'italic', 'bulletedList', 'numberedList', 'blockQuote', 'undo', 'redo' ]
} )
.then( editor => {
window.editor = editor;
const clipboard = editor.plugins.get( 'Clipboard' );
editor.listenTo( editor.editing.view.document, 'clipboardInput', ( evt, data ) => {
console.log( '----- clipboardInput .listenTo' );
//console.log( 'text/html: ', data.dataTransfer.getData( 'text/html' ) );
console.log( 'text/plain: ', data.dataTransfer.getData( 'text/plain' ) );
data.dataTransfer.setData( 'text/plain', '<p>Replaced!</p>' );
//console.log( 'text/html: ', data.dataTransfer.getData( 'text/html' ) );
console.log( 'text/plain: ', data.dataTransfer.getData( 'text/plain' ) );
}, { priority: 'high' } );
editor.editing.view.document.on( 'clipboardInput', ( evt, data ) => {
console.log( '----- clipboardInput .on' );
//console.log( 'text/html: ', data.dataTransfer.getData( 'text/html' ) );
console.log( 'text/plain: ', data.dataTransfer.getData( 'text/plain' ) );
data.dataTransfer.setData( 'text/plain', '<p>Replaced!</p>' );
//console.log( 'text/html: ', data.dataTransfer.getData( 'text/html' ) );
console.log( 'text/plain: ', data.dataTransfer.getData( 'text/plain' ) );
} );
clipboard.on( 'inputTransformation', ( evt, data ) => {
console.log( '----- inputTransformation' );
console.log( 'data', data );
console.log( 'data.content', data.content );
} );
} )
.catch( err => {
console.error( err.stack );
} );
</script>