是否可以让javascript将图像复制到剪贴板?当您右键/控制单击浏览器中的图像时,我希望复制 Chrome 具有的“复制图像”功能。
我已经看到了文本解决方案,以及一些基于 Flash 的文本解决方案。但我只对图像数据感兴趣。并且仅在 Chrome 中。对于这个要求,不要关心 IE 或 FF。
是否可以让javascript将图像复制到剪贴板?当您右键/控制单击浏览器中的图像时,我希望复制 Chrome 具有的“复制图像”功能。
我已经看到了文本解决方案,以及一些基于 Flash 的文本解决方案。但我只对图像数据感兴趣。并且仅在 Chrome 中。对于这个要求,不要关心 IE 或 FF。
更新:从Chrome 43、Firefox 41、Opera 29和Safari 10开始,任何网站都可以document.execCommand("copy")
随时随地document.execCommand("cut")
进行。
过时的:
就像在 Javascript 中将图像从浏览器复制到剪贴板一样?解释说,如果任何网站仅仅因为她导航到恶意网站而被允许将数据输入/放入用户的操作系统,这是一个安全漏洞。
如果您仅针对 Chrome,则有两种解决方案。
编写一个 Chrome 扩展程序并要求您的用户安装它。
编写一个 Chrome 应用程序并要求您的用户安装它。您的用户无需运行您的 Chrome 应用程序。已安装的 Chrome 应用程序注册的域中的脚本将自动获得此权限。
您的应用程序/扩展程序必须声明clipboardWrite
特权(请参阅https://developer.chrome.com/extensions/permissions)。
然后,您可以document.execCommand("Copy")
在操纵window.selection
指向要复制的图像后调用。
在 2020 年,可以使用异步剪贴板 API 来完成,请参见此处:https ://arnellebalane.com/blog/async-clipboard-api/ (包括演示)。