Chrome 桌面通知点击关注内容

Posted

技术标签:

【中文标题】Chrome 桌面通知点击关注内容【英文标题】:Chrome desktop notification click to focus on content 【发布时间】:2012-04-30 21:39:04 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:
notification = webkitNotifications.createNotification(...)
notification.onclick = function()
    window.focus();
    this.cancel();
;
notification.show()

...按预期工作,无需任何额外权限。

【讨论】:

这是错误的,这是html5 api,他是在询问chrome扩展API。 这对我也不起作用。点击通知只是关闭通知,并没有将焦点设置在窗口上。 我在这里发布了一个更新的答案:***.com/a/40964355/714733【参考方案2】:

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

tabId 通常通过Tab type 获得。这个对象被传递给许多方法/事件监听器(有时通过MessageSender type)。

【讨论】:

我想确保两个选项卡都设置为活动状态并且窗口获得焦点。您是否碰巧知道同时执行这两项操作是否有害,或者我应该先将选项卡设置为活动状态,然后将窗口设置为集中在回调中?【参考方案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();

【讨论】:

以上是关于Chrome 桌面通知点击关注内容的主要内容,如果未能解决你的问题,请参考以下文章

云桌面联系方式

chrome 在后台运行时动态站点更新的 Chrome 桌面通知

通知公告 | 关于发布《集装箱智能终端接入中间件通信协议》 等三项联盟标准的公告

为Chrome配置加速器

使用 branch.io iOS 的深度链接路由

Chrome推送通知 - 点击后如何打开URL地址?