JavaScript复制文本到剪贴板HTML5和JQuery

3

我搜索了这个问题,发现有很多种方法,但我无法从中选择。

其中一些已不再受支持,有些则较为复杂。

我正在寻找适用于支持HTML5的浏览器的最简单方法。我不在乎它是否受旧版IE的支持。

我更喜欢使用原生JavaScript或jQuery。但插件也可以。


3
@Quentin那个帖子是2010年的,现在浏览器已经发生了很大变化,而且没有任何一个答案被批准过! - werva
1
请避免将此问题链接到没有明确答案或过时的问题。谢谢 - werva
1
@wevra 这并不意味着这个问题已经过时,也不是打开重复的原因。 - Boaz
1
确实。请修复旧答案并添加新答案到现有问题中,而不是将信息分散在多个页面上。 - Quentin
3
这是一个合理的问题;重复问题出现的情况是当答案有效且更新时。与其对重复问题感到恐慌,不如回答问题呢?请注意,这里的“重复问题”指的是已经在该平台上得到解答的问题,而非完全相同的问题。 - frenchie
显示剩余6条评论
1个回答

1
JavaScript无法访问客户端剪贴板(点击此处了解详情),这是一个安全问题,但Flash可以。我们关心的每个浏览器都支持Flash,但Flash正在退出历史舞台,因此现在所有人都处于不稳定状态。目前,Flash是唯一的选择,但权力机构是否能够忽略潜在的安全问题...只有等待看看了。这就是我所知道的!

其他网站也使用Flash吗? - werva
我不确定你的意思是什么?如果你想要访问剪贴板,你将会使用包装在JS中的Flash。有W3C的ClipBoard API,但它还没有被实现。移动设备上的Flash支持将被逐步淘汰(我认为这就是放弃Flash的原因),但谁知道需要多长时间。在非Flash解决方案达成一致之前,你必须使用它,但在未来的某个时候,它将开始对你造成问题。如果你需要它,那就使用它,你只需要跟上市场的发展。 - gwillie
最终我达成了这一观点,即现代浏览器的策略是禁止复制到剪贴板。因此我们也应该避免这种做法。尽管像tutplus这样的网站仍在使用它,但这并不是标准做法。 - werva
如果你的用户期望,想要,或者这有助于提高用户的生产力/懒惰程度,那就去做吧。这是一个便利功能。特性时有时无,但如果从标准的角度来看,没有标准,只有观点...这就是你在这里提出问题的原因。维护是否值得这个特性?这个你需要自己回答。 - gwillie
window.prompt ("复制到剪贴板:Ctrl+C,Enter", text);并不会将其复制到剪贴板。但这是最安全的方式。你是对的。但我的原则是避免支持旧版IE和Flash,即使客户不喜欢它。 - werva

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接