ckeditor - 将粘贴的剪贴板图像从 CKeditor 传递到 Dropzone
问题描述
我们目前有通过 Dropzone.js 处理所有图像上传的代码。这包括从剪贴板粘贴和通过当前有效的 dropzone.js 上传的功能。这是那个事件代码:
document.onpaste = function(event)
{
alert('pasted');
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
for (index in items) {
var item = items[index];
if (item.kind === 'file') {
// adds the file to your dropzone instance
myDropzone.addFile(item.getAsFile());
}
}
}
在此之后,我们向该页面添加了一个 CKEditor (v4.10) html 文本编辑器。CKEditor 有自己的内置剪贴板处理功能。如果您激活 CKEditor(例如通过单击文本区域),CKEditor 从该点有效地控制剪贴板。这是正确的,因为我们希望编辑器仍然能够复制和粘贴文本。
但是,CKEditor 本身并没有内置图像上传功能。它需要一个插件。但是我们不希望使用这个插件,而是拦截粘贴事件,如果粘贴的数据是图像,则将其传递给我们的 dropzone.js 处理程序。
虽然我能够拦截该事件,但我不确定我可以从 CKEditor 粘贴事件中提取哪些事件数据(如果有)以传递给 Dropzone 处理程序。这是到目前为止的代码:
var editor = CKEDITOR.instances.NoteText;
editor.on( 'paste', function( event )
{
alert('pasted ck');
console.dir(event);
//myDropzone.addFile(item.getAsFile());
} );
我已尝试检查该事件以查看是否有任何东西可供我使用,但似乎没有找到任何东西。
我想要完成的事情可能吗?我是否有可能以某种方式找到粘贴的事件数据并将其从 CKEditor 传递到 DropZone?还是我必须实现 CKEditor 图片上传插件?
谢谢。
解决方案
推荐阅读
- graphics - 如何读取 Vulkan 中的模板缓冲区?
- .net - .NET 中的 TLS - 第三方根 CA 未被识别为受信任的根 CA
- c# - 过滤列表并删除不需要的数据 C#
- plot - gnuplot 矩阵热图图翻转
- clojure - Clojure 空序列行为
- swift - 需要按两次取消按钮才能转到上一个视图控制器
- javascript - 创建 Photoshop 插件 - 尝试在 javascript 函数中找到更简单的源文件方法
- javascript - 导出数组 ReactJS - 错误:数组是只读的
- javascript - 如何将字符串数组复制到对象中
- reactjs - 在 React 应用程序中运行 Jest 测试时错误的表覆盖率