我正在阅读this article,了解有关在Chrome和Firefox中粘贴图片的信息。

回顾一下,Firefox不提供有关粘贴图像的任何信息,“paste”事件处理程序将获得一个空的clipboardData对象。

要解决此问题,可以在DOM中放置一个内容不可见的可编辑div并始终保持焦点,粘贴内容时会触发超时,该超时将检查不可见div的内容以获取图像句柄。

有没有什么方法可以使用魔术iframe或其他方法来破解内容,而无需将textarea替换为contenteditable div来在Firefox中获得粘贴图像支持?

(注意:Java和Flash解决方案是不可能的)

最佳答案

<div id="paste" contenteditable="true"></div>

将此项目插入您的html中,然后调用以下内容
var pasteDiv = $("#paste")[0];
document.body.onpaste = function (event) {
    pasteDiv.focus();
    //do your magic firefox here
};
onpaste在此处触发,因为您拥有contenteditable div,然后您可以告诉firefox将剪贴板数据集中在何处。 (如果没有至少一个contenteditable项,则onpaste不会触发)

有关工作示例,请参见:https://gist.github.com/4577472

10-05 20:56
查看更多