到目前为止,所有答案都集中在捕获网页内的事件。但是,是否可以使用javascript检索剪贴板中的最后“文本”数据?
我想要做的是当用户点击textarea时,它会自动将其值更改为系统剪贴板中的最后一个复制元素(来自任何页面或其他应用程序)。
答案 0 :(得分:1)
可悲的是,没有简单的方法可以做到这一点。您可以随时使用闪存黑客(我不熟悉他们)来访问剪贴板,但除此之外,您只能访问用户的剪贴板(在您的情况下,到在系统剪贴板事件期间(由键盘快捷键或浏览器的菜单触发)读取其中的内容。
在IE中,您可以随时使用以下代码访问剪贴板:
window.clipboardData.getData('Text');
但如果在系统剪贴板事件期间没有,则会提示用户是否要授予您访问权限。
您可以使用授予您网站/应用clipboard permissions的Chrome扩展程序在Chrome中获得解决方法。从那里你可以使用以下代码强制粘贴事件。
window.execCommand('paste');
这会导致粘贴剪贴板上的任何内容(因为您选择了文本区域,它应该粘贴到您的文本区域中)。
但是,除非你找到一种方法让闪存为你做(ZeroClipboard似乎是一个很有前景的选择),但这可能是你能够获得的。如果您对某些更多细节感兴趣,我在Lucidchart(我工作的地方)做了大量工作后,就这个问题写了一篇技术blog post。