Chrome桌面通知点击以关注内容

时间:2012-04-30 21:39:04

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

我正在将桌面通知构建到我正在处理的Chrome扩展程序中。我需要的功能要求用户在单击通知窗口时进入导致通知的选项卡。我可以使用chrome.tabs API来实现这一点,但我无法弄清楚的是如何在点击通知时将Chrome置于最前面。

我知道在chrome中禁用了window.focus(),但这绝对是可行的,因为这是Gmail桌面通知的行为。

3 个答案:

答案 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();