Chrome扩展程序查询:如何及时更新内容脚本中的上下文菜单,以便将其包含在上下文菜单中?

时间:2017-11-27 14:45:33

标签: google-chrome-extension

我尝试创建一个chrome扩展程序,在右键单击元素时将DOM信息添加到上下文菜单(作为子项)。到目前为止,我所拥有的代码确实将我想要的信息放入上下文菜单中,而控制台日志显示了在正确的位置添加的子项(并且两者都没有错误),但是没有及时将它包含在初始渲染的上下文菜单

最终效果是,我必须右键单击元素两次才能看到首次点击创建的上下文菜单子项。

我目前的(略微简化的)代码如下:

内容脚本:

document.addEventListener("mousedown", function(event){
    if(event.button == 2) { 
        chrome.runtime.sendMessage(event.target.nodeName);
    }
}, true);

背景:

var parent = chrome.contextMenus.create({"title": "Node", "contexts":["all"]});

chrome.runtime.onMessage.addListener(
  function(nodename, sender, sendResponse) {
      chrome.contextMenus.create(
        {"title": nodename, "parentId": parent});
  });

的manifest.json

{
  "manifest_version": 2,

  "name": "My extension",
  "description": "This is an example extension.",
  "version": "0.1",

  "permissions": ["contextMenus", "clipboardWrite"],

  "background": {
    "scripts": ["background.js"]
  },

  "content_scripts": [
    {
      "matches": ["http://*/*", "https://*/*", "*://*/*"],
      "js": ["contentscript.js"]
    }
  ]
}

有没有办法可以及时将信息添加到上下文菜单中以便将其包括在内?

0 个答案:

没有答案