使Chrome扩展程序刷新已打开页面而不是打开新页面

时间:2017-02-26 03:03:52

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

扩展程序会在收到邮件时发送通知。

var notification = new Notification('New message', {
    icon: icon,
    body: dabody,
});

它还会打开一个页面,显示单击时的消息。

notification.onclick = function () {
    window.open(link);
    chrome.tabs.create({url: "https://website/messages/", selected: false, pinned: true}, function(tab) {
        chrome.tabs.executeScript(tab.id, {
            code: 'window.close();',
            runAt: 'document_idle'
        });
    });
    notification.close();
}

如果/messages页面已经打开而不是打开新页面,我是否可以刷新页面?

1 个答案:

答案 0 :(得分:0)

当您的活动被解雇时,您可以尝试通过chrome.tabs.query找到该标签并重新加载,否则创建一个新标签。

这样的事情:

notification.onclick = function () {
    chrome.tabs.query({url:"https://website/messages/"}, function(tabs) {
        if(tabs.length) { 
            chrome.tabs.reload(tabs[0].tabId); 
        }
        else {
            // create new tab
        }
    });
};