因此,即使有粘贴事件,我也无能为力,所以我不得不绕开,这意味着改变 dom.observe(element, pasteEvents, function()) 函数的内部,特别是我必须做的是
改变
if (dataTransfer && browser.supportsDataTransfer())
到
if (dataTransfer && browser.supportsDataTransfer() || dataTransfer && $(dataTransfer.getData("text/html")).is("img"))
因为显然 firefox 向 browser.supportsDataTransfer() 函数返回 false
然后将 if(data) 内部更改为
if (data) {
if ($(data).is("img")) {
event.preventDefault();
var _myImgElement = $(data);
that.commands.exec("insertImage", _myImgElement.data("src"));
} else {
element.focus();
that.commands.exec("insertHTML", data);
that.parent.fire("paste").fire("paste:composer");
event.stopPropagation();
event.preventDefault();
}
} else {
setTimeout(function() {
that.parent.fire("paste").fire("paste:composer");
}, 0);
}
});
在其中我测试插入的元素是否实际上是图像,然后获取它的 data-src 属性,其中包含我的全尺寸图像的 url,然后执行 insertImage 命令。
虽然它非常笨重,当我将 wysihtml5 更新到最新版本等时它会中断,我们可以为此提供某种 api 吗?或者已经存在了,我没弄明白。