2011-04-05 165 views
8

可能重复:
Copy/Put text on the clipboard with FireFox, Safari and Chrome
How to Copy to Clipboard in JavaScript?如何在跨浏览器中读取剪贴板数据?

嗨,

场景:我复制了一些内容(无论是从记事本或字),并希望将其粘贴在我的iframe 。在粘贴之前,我想操作剪贴板内容。 在IE中我能做到这一点与window.clipboardData.getData("Text"); 如何读取其他浏览器剪贴板中的数据(FF/Chrome和Safari)

+5

@David,@Crowder:这两个问题无疑都与此类似,但都涉及将数据放到剪贴板而不是从数据中读取数据。 – 2011-04-05 13:05:29

+0

@David,@Crowder:这是一个可能的重复,但这个问题:http://stackoverflow.com/questions/233719/is-it-possible-to-read-the-clipboard-in-firefox-safari-and -chrome-using-javascri – 2011-04-05 13:13:44

+2

耶稣基督SO需要如此严厉地调节mods。这两个问题都没有被标记为是所有问题都是同一个问题。 – 2016-06-27 09:05:13

回答

5

火狐

默认的柜面,不允许使用JavaScript 读取或设置您的剪贴板数据为 安全和隐私的原因。这是 因为网站脚本可以擦除并 取代你目前在 剪贴板(数据丢失问题),并 他们可以读取任何你有 剪贴板(安全和隐私 问题)

From Here

+0

时下 Document.execCommand('粘贴')[阅读](https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand) – 2017-02-17 13:52:07

3

你只能够做到这在大多数浏览器在用户明确地触发膏(例如,通过使用按Ctrl - V或编辑或上下文菜单)。

在Firefox和Opera中,您需要使用黑客,例如我在这里列出的黑客:JavaScript get clipboard data on paste event (Cross browser)

在Internet Explorer,Safari和Chrome中,您可以使用IE中的window.clipboardData和WebKit中的paste事件的clipboardData属性在粘贴期间直接访问剪贴板。更多信息可以在Apple developer site找到。