我在编辑器上工作,我想通过点击我想要粘贴已经复制到剪贴板的图像来提供一个按钮。由于安全原因,浏览器不允许访问剪贴板,因此无法执行此操作。
我查看了Google云端硬盘,了解Google是如何完成的。在Chrome中,他们要求从Chrome网上商店安装Google云端硬盘网络应用程序,该网站会在安装应用程序后请求clipboardRead和clipboardWrite permissions 。一切都像Google云端硬盘中的魅力一样。文档说使用document.execCommand('paste')。但是我找不到任何实现这个的示例,并且无法在我的应用程序中实现相同的示例。有人可以在这里为我提供一个示例,说明当图像在剪贴板中时如何使其工作。
答案 0 :(得分:1)
我们需要在应用程序的清单文件中添加权限(clipboardRead和clipboardWrite),然后如果要从剪贴板粘贴文本/图像,我们需要将焦点放在html中的虚拟文本框/图像元素中,然后运行document.execCommand('paste'),现在这个元素可以访问剪贴板复制的项目并获取文本或图像以便使用它。
答案 1 :(得分:1)
信用转到https://stackoverflow.com/a/6338207/85597
// window.addEventListener('paste', ... or
document.onpaste = function(event){
var items = event.clipboardData.items;
console.log(JSON.stringify(items)); // will give you the mime types
var blob = items[0].getAsFile();
var reader = new FileReader();
reader.onload = function(event){
console.log(event.target.result)}; // data url!
reader.readAsDataURL(blob);
}
答案 2 :(得分:0)
目前没有来自Chrome的API
https://groups.google.com/forum/?fromgroups=#!topic/chromium-extensions/BJAn5_OwT2g,因为粘贴被认为是安全风险