9

我正在阅读这篇关于在 Chrome 和 Firefox 中粘贴图像的文章。

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

解决方法是,div在 DOM 中放置一个不可见的 contenteditable 并始终保持焦点,当粘贴内容时,它会触发超时,检查不可见 div 的内容以获取图像句柄。

有没有办法使用魔法 iframe 或其他什么东西来破解东西,除了用 contenteditable div 替换 textarea 来在 Firefox 中获得粘贴图像支持?

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

4

2 回答 2

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

将此项目插入到您的 html 中,然后调用以下命令

var pasteDiv = $("#paste")[0];
document.body.onpaste = function (event) {
    pasteDiv.focus();
    //do your magic firefox here
};

在这里onpaste触发是因为你有你的contenteditablediv,然后你可以告诉 firefox 将这个剪贴板数据集中在哪里。(没有至少一项contenteditable不会onpaste触发的项目)

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

于 2013-01-20T09:32:45.177 回答
0

不,没有别的办法。

*不可见的 contenteditable div 或在浏览器中运行的 Java Applet 是两种方法。

于 2013-01-04T05:20:28.393 回答