尝试构建 Chrome 扩展程序。目前我已经整理了一个上下文菜单项。单击上下文菜单项时,它会itemClicked()
在我的后台脚本中触发context_menu.js
:
function itemClicked(info, tab) {
alert("clicked");
}
警报触发。我也可以做一些事情,比如通过发送 ajax 请求itemClicked()
但是,我不能将任何元素附加到页面(或任何类型的 DOM 操作)。即使像这样基本的东西也不起作用:
var d = document.createElement('div');
d.setAttribute("css", "width: 100px; height: 100px; background-color: red; position: fixed; top: 70px; left: 30px; z-index: 99999999999;");
document.body.appendChild(d);
所以我尝试将相同的代码添加到内容脚本中:
chrome.contextMenus.onClicked.addListener(function(OnClickData info, tabs.Tab tab) {
//code to append the input here
});
但它仍然行不通。我究竟做错了什么?
单击后如何获取上下文菜单以将某些内容附加到页面?
非常感谢!
编辑:这是我的 manifest.json (删除了不相关的东西,如名称/描述......等)
{
"permissions": [
"activeTab",
"tabs",
"cookies",
"contextMenus"
],
"background": {
"scripts": ["context_menu.js"]
},
"browser_action": {
"default_icon": "icon16.png",
"default_css": "popup.css",
"default_popup": "popup.html"
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["vendor/jquery-1.8.2.min.js", "config.js", "content_script.js"]
}
],
"web_accessible_resources": ["popup.html"]
}