chrome.pageAction.setIcon无法可靠地工作

时间:2015-03-11 08:32:57

标签: javascript google-chrome browser webrequest

这段代码有什么问题?当我在调试模式下尝试时,它可以每次更改图标和标题,但是当我在没有调试模式的情况下尝试它时,它可能无法工作(特别是如果我使用鼠标点击进入网站而不是使用omnibox)。我相信过滤器可能会导致问题,但我还没有找到解决方案。

chrome.webRequest.onCompleted.addListener(
        function (details) 
        {
            var url = (new RegExp('^https://([^/@]+@)?([^/@]+)/(.*)').exec(details.url));
            var domain = url[2];

            if(domainCheck(domain)){
                    chrome.pageAction.setIcon({tabId: details.tabId, path: 'https_enforced.png'});
                    chrome.pageAction.setTitle({tabId: details.tabId, title: 'Secure connections enforced'});
            }
        }, { urls: ["https://*/*"]} 
    );

提前致谢!

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,

chrome.webRequest.onCompleted.addListener(
function (details) 
{
    var url = (new RegExp('^https://([^/@]+@)?([^/@]+)/(.*)').exec(details.url));
    var domain = url[2];

    if(domainCheck(domain)){
            console.log("yesil")
            setTimeout(function(){chrome.pageAction.setIcon({tabId: details.tabId, path: 'https_enforced.png'})},100);
            setTimeout(function(){chrome.pageAction.setTitle({tabId: details.tabId, title: 'Secure connections enforced'})},100);
    }
}, { urls: ["https://*/*"]} 

);