如何在跨浏览器中读取剪贴板数据?
Posted
技术标签:
【中文标题】如何在跨浏览器中读取剪贴板数据?【英文标题】:How to read clipboard data in cross browser? 【发布时间】:2011-07-29 21:50:32 【问题描述】:可能的重复:Copy / Put text on the clipboard with FireFox, Safari and ChromeHow to Copy to Clipboard in javascript?
你好,
场景:我复制了一些内容(从记事本或 word 中)并想将其粘贴到我的 iframe 中。在粘贴之前我想操作剪贴板内容。
在 IE 中,我可以使用 window.clipboardData.getData("Text");
如何在其他浏览器(FF/chrome 和 safari)中读取剪贴板数据
【问题讨论】:
@David, @Crowder:这两个问题无疑与这个问题相似,但都涉及将数据放到剪贴板上而不是从中读取数据。 @David, @Crowder:这可能是这个问题的重复:***.com/questions/233719/… Jesus christ SO 非常需要调整模组。这两个被标记为受骗的问题根本不是同一个问题。 【参考方案1】:只有在用户显式触发粘贴时(例如,通过使用 Ctrl-V 或编辑或上下文),您才能在大多数浏览器中执行此操作菜单)。
在 Firefox 和 Opera 中,您需要使用 hack,例如我在此处概述的那个:JavaScript get clipboard data on paste event (Cross browser)。
在 Internet Explorer、Safari 和 Chrome 中,您可以在粘贴期间使用 IE 中的 window.clipboardData
和 WebKit 中的 paste
事件的 clipboardData
属性直接访问剪贴板。更多信息请访问Apple developer site。
【讨论】:
【参考方案2】:火狐的情况
默认情况下,不允许使用 JavaScript 读取或设置剪贴板数据 安全和隐私原因。这是 因为网站脚本可以擦除和 替换你目前拥有的 您的剪贴板(数据丢失问题)和 他们可以阅读您所拥有的任何内容 您的剪贴板(安全和隐私 问题)
From Here
【讨论】:
现在 Document.execCommand('paste') read there以上是关于如何在跨浏览器中读取剪贴板数据?的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript 在粘贴事件中获取剪贴板数据(跨浏览器)