在已经打开后更新上下文菜单标题

时间:2018-04-07 03:59:10

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

我写的扩展名是: - 右键单击​​页面时,它会向背景发送消息。 - 后台检查存储,如果存储中存在项目,则将上下文菜单的标题更新为“启用”,如果不存在,则“禁用”。 - 当我单击上下文菜单项时,它将更新存储(将消息发送到后台并更新存储)。

一切正常,但上下文菜单标题更新速度慢。如果标题已经打开,则标题无法更新。

以下是内容:

if(document.body!==null&&document.body!==undefined){
          clearInterval(_thread);
          document.body.addEventListener("contextmenu", function(){
            chrome.runtime.sendMessage({"updatecontextmenu":true, "url_host":location.hostname});
          });
      }

以下是背景知识的一部分:

    chrome.runtime.onMessage.addListener(function(request, sender, sendResponse){
        if(request.url_host!==null && request.url_host!==undefined && request.updatecontextmenu==true)
        checkWhitelist(hostname(request.url_host), function(ok){
            if(!ok){
              chrome.contextMenus.update("my-context-menu", {"title": "Exclude"});
            }else{
              chrome.contextMenus.update("my-context-menu", {"title": "Include"});
            }
        });
    });

chrome.contextMenus.onClicked.addListener(function (e) {//update storage});

它也会在第一次出现上下文菜单时更新,但不是正确的,只是在下一次(从第二次开始)。

0 个答案:

没有答案