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

Mik*_*ffe 18 javascript clipboard html5 google-chrome copy-paste

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

我见过文本解决方案,一些基于Flash的文本解决方案.但我只对图像数据感兴趣.仅限Chrome.不要关心此要求的IE或FF.

Ala*_*Tam 9

更新:从Chrome 43以上,火狐41,歌剧29Safari浏览器10起,任何网站都可以做document.execCommand("copy"),并document.execCommand("cut")随时.


过时的:

就像在Javascript中从浏览器将图像复制到剪贴板一样?解释说,如果允许任何网站将数据导入/放入用户的操作系统只是因为她导航到恶意网站,这是一个安全漏洞.

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

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

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

您的应用/扩展程序必须声明该clipboardWrite权限(请参阅https://developer.chrome.com/extensions/permissions).

然后,您可以document.execCommand("Copy")在操作window.selection指向要复制的图像后进行调用.

  • 我尝试使用Chrome浏览器上的Chrome 41并使用正确的剪贴板权限,window.selection跟随document.execCommand("复制")不起作用.和clipboardData.setData(mimeType,blob /或/ file)也不起作用.它只发生在图像上,其他一切(文本,htm,我自己的数据格式)似乎工作得很好. (2认同)