我正在阅读这篇关于在Chrome和Firefox中粘贴图像的文章。
总而言之,Firefox没有提供任何关于粘贴的图像的信息,“粘贴”事件处理程序会得到一个nullclipboardData
对象。
为了解决这个问题,可以在DOM中放置一个不可见的contenteditablediv
,并始终保持它的焦点,当粘贴内容时,它会触发一个超时,检查不可见div的内容以获取图像句柄。
除了用contenteditable div替换textarea之外,有没有其他方法可以使用magic iframes或者别的什么来破解东西,从而在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
不,没有别的办法了。
*在浏览器中运行的不可见内容Editable div或Java小程序是两种方法。