在search中以Javascript的方式以编程方式选择WebView内容,我遇到this Javascript code snippet,它在窗口对象中名为clipboardData的成员中使用名为setData()的方法。
但是当我试图在Javascript reference中找到它的文档时,无法找到clipboardData。
为什么?
不是window.clipboardData不是Javascript或DOM的一部分吗?
答案 0 :(得分:7)
不,它不是任何标准的一部分。除IE之外,由于安全问题,大多数浏览器不允许剪贴板访问(您不希望任意网页读取您放入剪贴板的敏感信息)。
答案 1 :(得分:2)
我相信只有IE才能让你访问剪贴板。以前使用的其他浏览器的旧版本,但默认情况下已将其关闭作为安全措施。用户可以通过设置/选项/首选项明确打开它,但在大多数情况下这显然不是理想的。
解决方法是在页面上使用flash对象。由于Flash 10添加了更多安全层,因此现在还需要使用flash对象进行用户交互(例如点击而不是说onload事件)。
我从答案底部写得很好的文章中找到并实现了好的工作。他更详细地解释了这个问题,链接到Adobe / Mozilla的官方声明,并提供了一个可用的和可下载的示例,以及fla的源代码。如果你想重新设计/重新设计他的按钮,这很方便。
我已使用最新版本(截至2011年7月7日)在Chrome7上成功测试过Chrome / Safari / RockMelt / FF / IE7 / IE8 / IE9和MacOSX(SL)Safari / FF。
唯一的缺点是,除了一些移动平台和一小部分(ab)普通用户外,它使用主要的闪存。此外,我发现你需要通过http(一个Web服务器)访问,通过文件系统打开和使用演示页(即双击资源管理器中的html文件)将无法正常工作。
感谢分享Rahul,非常棒的工作。