仅在Chrome中使用javascript将图像复制到剪贴板

时间:2013-09-18 01:44:40

标签: javascript html5 google-chrome clipboard copy-paste

是否可以让javascript将图像复制到剪贴板?我想要复制Chrome在右键/控制点击浏览器中的图片时所拥有的“复制图像”功能。

我见过文本解决方案,也有一些基于Flash的文本解决方案。但我只对图像数据感兴趣。仅限Chrome。不要因为这个要求而关心IE或FF。

2 个答案:

答案 0 :(得分:9)

更新:从Chrome 43Firefox 41Opera 29Safari 10开始,任何网站都可以document.execCommand("copy")和{{ 1}}任何时候。


<强>过时

就像Copy Image to Clipboard from Browser in Javascript?所解释的那样,如果允许任何网站将数据导入/放入用户的操作系统,只是因为她导航到恶意网站,这是一个安全漏洞。

如果您仅定位Chrome,则有两种解决方案。

  1. 撰写Chrome扩展程序并要求您的用户进行安装。

  2. 撰写Chrome应用并请求您的用户进行安装。您的用户无需运行Chrome应用。安装的Chrome应用程序注册域中的脚本将自动获得此权限。

  3. 您的应用/扩展程序必须声明document.execCommand("cut")权限(请参阅https://developer.chrome.com/extensions/permissions)。

    然后,您可以在操纵clipboardWrite指向要复制的图像后调用document.execCommand("Copy")

答案 1 :(得分:1)

在2020年,可以使用异步剪贴板API来完成此操作,请参见此处:https://arnellebalane.com/blog/async-clipboard-api/(包括演示)。