2017-02-26 120 views
0

扩展在收到消息时发送通知。使Chrome扩展程序刷新已打开页面而不是打开新页面

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刷新页面,如果它已经打开,而不是打开一个新的网页吗?

+3

见['tabs.update()'](https://developer.chrome.com/extensions/tabs#method-update)。 – Makyen

回答

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 
     } 
    }); 
}; 
相关问题