火狐浏览器完美支持,是因为火狐自带粘贴图片功能,而谷歌只支持一半,Safari浏览器完全不支持。所以需要修改quill-image-drop-module源文件。
在node_modules里找到quill-image-drop-module文件,打开index.js。 只有五个函数,一个构造函数,两个粘贴删除监听函数,以及两个功能函数。
修改handlePaste 粘贴函数,添加浏览器判断:
handlePaste(evt) {
if (evt.clipboardData && evt.clipboardData.items && evt.clipboardData.items.length) {
this.readFiles(evt.clipboardData.items, dataUrl => {
const userAgent = navigator.userAgent; // 取得浏览器的userAgent字符串
if (userAgent.indexOf('Firefox') > -1) {
const selection = this.quill.getSelection();
if (selection) {
} else {
setTimeout(() => this.insert(dataUrl), 0);
}
} else {
setTimeout(() => this.insert(dataUrl), 0);
}
});
}
}