我有一个 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);
}
您需要确保在创建编辑器后调用它。
关于javascript - 使用 Firefox 防止 SCEditor (MyBB) 中的拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48823347/