15

我正在将桌面通知构建到我正在开发的 chrome 扩展中。我需要的功能要求用户在单击通知窗口时被带到导致通知的选项卡。我可以使用 chrome.tabs API 使其正常工作,但我无法弄清楚当点击通知时如何将 Chrome 置于最前面。

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

4

3 回答 3

27
notification = webkitNotifications.createNotification(...)
notification.onclick = function(){
    window.focus();
    this.cancel();
};
notification.show()

...按预期工作,没有任何额外的权限。

于 2012-04-30T21:45:23.183 回答
6

用于chrome.tabs.update(tabId, {active: true});聚焦选项卡(不要与 混淆chrome.windows.update)。

通常tabId通过Tabtype获得。该对象被传递给许多方法/事件监听器(有时通过MessageSendertype)。

于 2012-05-01T07:21:24.380 回答
4
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();

于 2015-11-29T22:48:46.573 回答