如何制作一个Chrome扩展程序以复制选择内容到剪贴板

4

我想制作一个扩展程序,通过点击右键菜单将所选内容复制到剪贴板。在Chrome浏览器中,有很多人使用Flash解决方案。但是如何在右键菜单中使用Flash呢?这似乎是不可能的。谁能告诉我一个解决方案呢?

我的做法:

var a = chrome.contextMenus.create({"title":copy,"context":["selection"],"onclick":copy});
function copy(info,tab){
document.execCommand('selectAll'); //just for example
document.execCommand('copy');
}

我已经在manifest.json中添加了clipboardWrite权限,但似乎没有生效。 "permission":["contextMenus","clipboardWrite"]


1
这里应该会有所帮助。 - chrisjr
实验性的剪贴板API已被移除,Chrome不再支持document.execCommand(“Copy”),还有我如何在ContextMenus中使用Flash。 - user1309417
也许实验性的API不再是实验性的了?http://code.google.com/chrome/extensions/manifest.html#permissions - Alejandro Silvestri
2个回答

5

将此权限添加到您的manifest.json中:

"permissions": [ "clipboardWrite" ]

并将其复制到剪贴板:

document.execCommand('copy', false, null);

我已经尝试过了,但仍然不起作用。似乎使用"document.execCommand('copy')"也是正确的。 - user1309417
我建议您查看Google Url Shortner Chrome扩展程序的代码。 - codef0rmer
请安装Chrome插件:https://chrome.google.com/webstore/detail/iblijlcdoidgdpfknkckljiocdbnlagk安装完成后,如果您使用的是Linux系统,请前往~/.config/google-chrome/iblijlcdoidgdpfknkckljiocdbnlagk/。 - codef0rmer

0

“这个权限是为托管应用程序所必需的”是什么意思? - user1309417
在Google Chrome扩展API文档中,我理解这意味着,如果您正在编写托管的应用程序,并需要访问剪贴板,则需要此权限。否则,它将不需要,我不知道在哪些情况下需要。托管的应用程序是常规网页,具有“可安装”清单,允许额外的权限,就像扩展一样,为页面带来扩展的功能。 - Alejandro Silvestri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接