我正在将桌面通知构建到我正在处理的Chrome扩展程序中。我需要的功能要求用户在单击通知窗口时进入导致通知的选项卡。我可以使用chrome.tabs API来实现这一点,但我无法弄清楚的是如何在点击通知时将Chrome置于最前面。
我知道在chrome中禁用了window.focus(),但这绝对是可行的,因为这是Gmail桌面通知的行为。
答案 0 :(得分:25)
notification = webkitNotifications.createNotification(...)
notification.onclick = function(){
window.focus();
this.cancel();
};
notification.show()
...按预期工作,没有任何其他权限。
答案 1 :(得分:6)
使用chrome.tabs.update(tabId, {active: true});
关注标签(不要与chrome.windows.update
混淆)。
tabId
通常是通过Tab
type获得的。该对象被传递给许多方法/事件监听器(有时通过MessageSender
type)。
答案 2 :(得分:3)
function msg(){
var notification = new Notification("Title", {body: "Yore message", icon: "img.jpg" });
notification.onshow = function() { setTimeout(notification.close(), 15000); };
notification.onclick = function(){
window.focus();
this.cancel();
};
}
msg();