CKEditor只能粘贴从浏览器获取的数据.这意味着如果浏览器不提供更多数据,那么纯文本就没有CKEditor可以做的事情.
从版本4.5开始,CKEditor提供了Facade来处理Clipboard API并获取直接粘贴在paste事件中的所有数据.每个浏览器都提供不同的数据,您可以轻松检查它们:
editor.on( 'paste', function( evt ) {
var types = evt.data.dataTransfer.$.types;
console.log( types );
for ( var i = 0; i < types.length; i++ ) {
console.log( evt.data.dataTransfer.getData( types[ i ] ) );
}
// Additionally you can get information about pasted files.
console.log( evt.data.dataTransfer.getFilesCount() );
} );
Run Code Online (Sandbox Code Playgroud)
请注意,Internet Explorer不提供types阵列和支持Text以及URL类型.
要了解更多有关剪贴板集成见本指南.特别是"使用剪贴板API处理各种数据类型"一章描述了如何将数据转换器与粘贴事件集成,因此如果PDF数据在任何浏览器中都可用,则可以在粘贴期间使用它们.