使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页面刷新如果已经打开而不是打开新页面?

触发事件时,您可以尝试通过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
        }
    });
};

相关内容

最新更新