仅在权限列表中的站点上显示上下文菜单

时间:2014-02-17 15:19:22

标签: javascript google-chrome google-chrome-extension

我根据page_action进行扩展。 我想为page_action可用的页面添加上下文菜单。

所以manifest.json

"content_scripts":[
    {
        "matches":["http://*.site.com/*/*/Prod/pgeproduct.aspx?iid=*"],
        "js":["site_cs.js","jquery-1.10.2.js"],
        "css":["site_cs.css"]
    }
],

"permissions":[
    "tabs",
    "storage",
    "contextMenus",
    "http://www.site.com/*"
]

在site_cs.js上调用以显示page_action图标

chrome.runtime.sendMessage({ action: "show" }); 

然后在eventPage.js上显示当前已过滤选项卡的page_action图标。 此外,由于内容脚本权限已经过滤了当前页面,我想我可以在这里显示上下文菜单

var menuItem = {
    "id": "addTask",
    "title": "Add Task",
    "contexts":["all"]
};

chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
    if (request.action == "show") {
        chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) {
            chrome.pageAction.show(tabs[0].id);
        });
        chrome.contextMenus.removeAll(function() {
           chrome.contextMenus.create(menuItem);    
        });
    }
});

但问题是我在所有标签上都看到了这个上下文菜单。 我的代码出了什么问题?

0 个答案:

没有答案