我正在尝试创建一个上下文菜单选项,它将一些文本复制到系统剪贴板。
目前,我只是在复制一个硬编码的字符串文字,但我想知道如何将其更改为复制选定的文本。具体来说,我不知道如何正确创建createProperties
对象(见底部)
据我了解,这只能通过背景页面完成。
我有以下背景页面:
background.html
<textarea id="temp"></textarea>
<script src="context.js"></script>
context.js
如下:
chrome.contextMenus.create({
"title": "Freedom",
"contexts": ["editable"],
"onclick" : copyToClipboard
});
function copyToClipboard()
{
var tempNode = document.getElementById("temp");
tempNode.value = "some text";
tempNode.select();
var status = document.execCommand('copy',false,null);
if(status) alert('successful');
else alert('unsuccessful');
}
我manifest.json
的如下:
{
"manifest_version": 2,
"name": "Freedom",
"description": "Provides users useful and fun context menu options that they can access from anywhere.",
"version": "1.0",
"permissions": [
"contextMenus",
"clipboardWrite"
],
"background": {
"page": "background.html"
}
}
我显然错误地声明了 chrome.contextMenus.create() 函数。我已经阅读了它的文档,我只能想象我没有正确地创建createProperties
对象。
我一直在尝试模仿这些来源:
是否可以通过 Chrome 扩展中的上下文菜单项调用内容脚本方法?
http://paul.kinlan.me/chrome-extension-adding-context-menus/
其他一些相关问题是: