使用 JavaScript 将选定的文本复制并粘贴到剪贴板
我正在为我的系统构建一个自定义右键菜单,我需要知道如何制作一个 JavaScript 函数来复制所选文本,基本上 100% 就像原来的右键菜单一样。
我知道 Flash 的解决方法。我想在 JavaScript 中做到这一点。
到目前为止,我看到的每个答案都只是一个半答案,因为他们都没有解释如何为所选文本制作复制按钮 - 他们所做的只是复制预定义的文本或文本框中的文本。
I'm building a custom right-click menu for my system and I need to know how can I make a JavaScript function to copy the selected text, basically 100% like the original right-click menu does.
I'm aware of the Flash work-arounds. I want to do this in JavaScript.
Every answer I've seen so far is only a half-answer because none of them explains how to make a copy button for the selected text - all what they do is copy a pre-defined text or a text from a textbox.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
现代浏览器阻止对剪贴板的访问。用户必须正确设置安全设置。
Flash 有解决方法,但它们并不是最好的。
Modern Day Browsers block access to the clipboard. The user has to have the security setting correct.
There are flash work-arounds, but they are not the best.
不知道这是否有效,但谷歌搜索产生了:
http://snippets.dzone.com/帖子/show/2914
no idea if this will work, but a google search yielded:
http://snippets.dzone.com/posts/show/2914
可行的跨浏览器方法(不包括 iOS)是使用 外部接口 和 setClipboard。
因此,您将拥有一个 swf、flash 文件,它仅侦听您从 Javascript 调用的函数来设置剪贴板。
A workable cross-browser approach (minus iOS) would be to use ExternalInterface and setClipboard.
So you would have a swf, flash file, that only listens to a function you call from Javascript to set the clipBoard.
对于非 IE 浏览器,您很可能必须使用 Flash 解决方案。然而,对于 IE,此方法非常有效:
For non-IE browsers you will most likely have to use a flash solution. For IE, however, this method works perfectly: