如何将焦点放在创建桌面通知的Chrome选项卡上?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (46)

我想实现与Gmail相同的功能。当新邮件到达或出现新聊天时,会出现通知弹出,如果单击它,则Gmail选项卡将被聚焦。

我有个代码:

var n = window.webkitNotifications.createNotification('ico.gif', 'Title', 'Text');
n.onclick = function(x) { this.cancel(); };
n.show();

当我点击通知时,它就会消失。现在,我需要向onClick函数添加一些代码,以打开创建此通知的“焦点”页面。我知道这是可能的,因为Gmail做得很好。但我没有成功地查看Gmail的来源(它们被最小化和模糊化)。

有人知道怎么做吗?

提问于
用户回答回答于

只需将window.ocus()放在GoogleChrome中即可。单击该窗口时,它将聚焦到该窗口。

var n = window.webkitNotifications.createNotification('ico.gif', 'Title', 'Text');
n.onclick = function(x) { window.focus(); this.cancel(); };
n.show();

我在Gmail中打开了检查器,添加了上面的代码,移动到另一个选项卡,并运行它。通知出现了,一旦点击,我就回到Gmail。

用户回答回答于

使用Notifications.

if (typeof Notification !== 'undefined') {
  alert('Please us a modern version of Chrome, Firefox, Opera or Safari.');
  return;
}

Notification.requestPermission(function (permission) {
  if (permission !== 'granted') return;

  var notification = new Notification('Here is the title', {
    icon: 'http://path.to/my/icon.png',
    body: 'Some body text',
  });

  notification.onclick = function () {
    window.focus();
  };
});

所属标签

可能回答问题的人

  • EatRice

    16 粉丝0 提问5 回答
  • gulu丶咕噜

    0 粉丝1 提问4 回答
  • 华讯云

    0 粉丝0 提问4 回答
  • 发条丶魔灵1

    9 粉丝526 提问3 回答

扫码关注云+社区

领取腾讯云代金券