网站搜索

javascript - CKEditor - 禁用图片拖放


问题:当在 Firefox 中将图片拖放到 CKEditor 窗口时,图片会自动以 base64 编码。

现在我想禁用这个。我尝试了这个方法:

config.removePlugins = 'dragdrop';

但它根本不起作用。也尝试过使用一个旧插件(imagepaste),但也不起作用……

有已知的解决方案吗?谢谢!

答案#1

起初我尝试通过 config.removePlugins='dragdrop,basket'; 来禁用 Base64,但完全没有效果。

然后我找到了这个链接,它帮助我解决了这个问题,并编写了一个插件来完成这个工作。这里是它以及使用说明:

要使用它,你必须在 ./plugins 内创建一个名为 dropoff 的文件夹。然后创建一个名为 plugin.js 的文件,内容如下:

CKEDITOR.plugins.add('dropoff', {
     init: function (editor) {

          function rejectDrop(event) {
              event.data.preventDefault(true);
          };

          editor.on('contentDom', function() {
            editor.document.on('drop',rejectDrop);
          });

      }
});

之后,您必须在 CKEditor 的 config.js 中注册它。

config.extraPlugins = 'dropoff';

如果你已经在使用额外的插件,只需在它们之间放一个,,像这样:

config.extraPlugins = 'mypreviousplugin,dropoff';

并且幸福!\o/

答案#2

在这里我找到了在ckeditor中禁用拖放的解决方案

ed.on('instanceReady', (ev) =>{
      CKEDITOR.plugins.clipboard.preventDefaultDropOnElement(ev.editor.document);
});