2013-01-04 46 views
9

我正在通过this article阅读关于在Chrome和Firefox中粘贴图像的内容。回顾一下,Firefox并没有提供任何关于粘贴图片的信息,“粘贴”事件处理程序得到一个空对象clipboardData可以在Firefox中的“粘贴图像”支持到textarea吗?

为了解决这个问题,在DOM中粘贴一个不可见的可满足的内容div,并始终保持焦点,当粘贴东西时触发一个超时,检查不可见div的内容以获取图像句柄。

有没有什么办法使用魔术iframe或什么 - 不是,用一个contenteditable div替换textarea,以获得在Firefox的粘贴图像支持?

(注:Java和闪存解决方案是不可能的)

+0

您可以专注于内容编辑的DIV在'document.onpaste'方法。这应该允许你不要把注意力全部集中在那个div上。 – Buildstarted

+0

你试过吗?我不知道它是否太晚,当你这样做 –

+0

我看到了在另一个网站上使用的技巧。如果你愿意,我会看看我能不能找到它。 – Buildstarted

回答

0

号没有另一种方式。

*尽管在浏览器中运行的隐形contenteditable div或Java小程序是两种方法。

+0

我还没有看到有关如何使用闪存桥来粘贴图像的任何示例,我怀疑它不被支持 –

+0

我已经修复了我的答案,感谢您的提醒。 – arttronics

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火灾,因为你有你的contenteditable格,然后你可以告诉firefox其中关注这款剪贴板数据。 (不具有至少一个contenteditable项目onpaste不火)

对于工作的范例中看到:https://gist.github.com/4577472

+0

所以FF22不再允许这个工作。我一直无法提出解决方法。 – Buildstarted

+0

不允许使用什么?在粘贴事件期间转移焦点? – Jaykul

+0

对于什么是值得的,他们可能已经彻底改变了22中的剪贴板数据。请参阅Aurora changelog中最后一项的下一个项目https://www.mozilla.org/en-US/firefox/22.0a2/auroranotes/,并且此错误为现在标记为固定https://bugzilla.mozilla.org/show_bug.cgi?id=407983 – Jaykul