在我的search中,我遇到了this Javascript code snippet,它在window对象的名为clipboardData的成员中使用了名为setData()的方法。
但是,当我试图在Javascript reference中查找clipboardData的文档时,到处都找不到它。
为什么?
window.clipboardData不是Javascript或DOM的一部分吗?
发布于 2011-03-12 05:16:17
不,这不是任何标准的一部分。除了IE,大多数浏览器出于安全考虑都不允许剪贴板访问(你不想让任意的网页读取你放入剪贴板中的敏感信息)。
发布于 2011-07-07 08:51:11
我相信只有IE才能让你访问剪贴板。其他较早版本的浏览器曾经使用,但作为安全措施,默认情况下已将其关闭。用户可以通过设置/选项/首选项显式地打开它,但在大多数情况下,这显然不是理想的。
解决方法是在页面上使用flash对象。由于Flash 10增加了更多的安全层,现在也需要用户与flash对象进行交互(例如,单击而不是onload事件)。
我从我答案底部写得很好的文章中找到并实现了好的工作。他更详细地解释了这个问题,并提供了Adobe/Mozilla官方声明的链接,并提供了一个可用的和可下载的示例,以及fla的源代码。如果你想重新设计他的按钮,这是很方便的。
我已经使用最新的(截至2011年7月7日) Chrome/Safari/RockMelt/FF/IE7/IE8/IE9和MacOSX(SL) Safari/FF在Windows7上测试成功。
唯一的缺点是它使用flash,除了一些移动平台和一小部分(Ab)普通用户外,大部分都很好。另外,我发现你需要通过http ( web服务器)访问,通过文件系统打开和使用演示页面(即在资源管理器中双击html文件)将不起作用。
感谢分享Rahul,很棒的工作。
http://www.rahulsingla.com/blog/2010/03/cross-browser-approach-to-copy-content-to-clipboard-with-javascript
https://stackoverflow.com/questions/5278408
复制相似问题