使用 Firefox 防止在 SCEditor (MyBB) 中拖放

Prevent drag and drop in SCEditor (MyBB) with Firefox

我有一个 MyBB 论坛,默认情况下包含 SCEditor 作为所见即所得的编辑器。

SCEditor 不是为拖放而设计的,因此对于 IE、Safari 和 Chrome,如果您尝试将图像拖到字段中,整个页面将被图像替换(这对我来说没问题).

但是在 Firefox 中图像适合该字段,这表明消息将与其一起显示,但最终图像被翻译为 base64 与 bbcode 不兼容。 图片不显示,代码一大堆。

能够执行拖放操作会很好,但我不想将图像存储在 base64 中,所以我只想阻止 Firefox 将图片拖放到该字段中。 我根本不需要拖放,所以它可以完全禁用。也许 jquery ?

抱歉,我无法访问论坛,但您可以在此处查看 SCEditor 的演示:https://www.sceditor.com

如果您不允许在页面上的任何地方拖放(我假设没有其他地方可以拖放文件)您可以添加此 JS 来防止它:

function preventDefault(e) { e.preventDefault() }

// Prevent drag drop on page
document.body.addEventListener('dragover', preventDefault);
document.body.addEventListener('drop', preventDefault);

// Prevent drag drop inside editor
if (window.MyBBEditor && MyBBEditor.getBody) {
    instance.getBody().addEventListener('dragover', preventDefault);
    instance.getBody().addEventListener('drop', preventDefault);
}

您需要确保在创建编辑器后调用它。