【问题标题】:Desktop Notification not appearing in Chrome桌面通知未出现在 Chrome 中
【发布时间】:2020-10-25 22:25:04
【问题描述】:

我已验证 Notification.permission === 'granted''Notification' in window == true,尽管以下 Javascript 不会在我的 Chrome 浏览器版本 70.0.3538.77(官方版本)(64 位)中显示通知。

var notif = new Notification('title', {
    icon: 'https://placehold.it/120x120',
    body: 'body'
});

我已经在我知道之前允许桌面通知的网站上的 Chrome 控制台中执行了上述操作。我还验证了它在这个位置设置为允许:

【问题讨论】:

  • 确保它不只是出现在另一台显示器上或隐藏在窗口下方。有时会发生这种情况
  • @Sv443,我在笔记本电脑上(单显示器)。 @Sheng,我尝试 (1) 使用 asus.com/us/support/FAQ/1007476 重置我的浏览器,然后 (2) 卸载并重新安装 Chrome。在这两次尝试之后,我尝试了您提供的链接 (web-push-book.gauntface.com/demos/notification-examples),但它仍然无法正常工作。 Firefox 确实可以工作。也许我拥有的 Chrome 版本在通知方面有问题?很奇怪。
  • @sheng 它不能在 chrome 中工作,无论是桌面还是移动设备。但是 Firefox 可以在移动设备和桌面设备上运行
  • 刚刚看到这两个 cmets。 @Merv 我在 Chrome 73、Windows 10 上重新测试了该页面,并且工作正常。你在什么平台上运行?你可以让你的系统通知延后吗? (看起来 Chrome 通过系统托盘交付,而 Firefox 创建自己的界面 FWIW。)
  • @sheng 是的,对不起,现在它可以工作了,但显然就像你说的 chrome 使用你的平台拥有的任何通知系统。我在 Windows 10 中禁用了通知...哎呀。不知道那个。但是在我的网络应用程序和移动设备上它仍然无法正常工作,所以我想这与我的代码或我的 android 上的设置有关。也许您对如何在 android 上完成配置有任何想法?同样的事情适用于移动设备,在 Firefox 移动设备上它可以工作,但在 chrome 上却不行。

标签: javascript html google-chrome notifications


【解决方案1】:

最近有同样的问题。我的解决方案是在 chrome://flags 中禁用“启用本机通知”。而我看不到通知的原因是因为浏览器想要显示本机通知,而我禁用了所有 Windows 通知。希望它对将来的人有所帮助:)

【讨论】:

  • 这应该是选择的答案
【解决方案2】:

好的,我正在写,以防万一有人觉得它有用。

我也遇到了这个问题,我尝试different sites 没有成功。但是,@Don Reptile 的回答提示了我可能出了什么问题(我屏蔽了原生通知)。

我使用的是 Windows 10,这是我从 Chrome 启用本机通知的地方。

【讨论】:

  • 对我来说最糟糕的......从 Chrome 的角度来看,没有任何关于它的线索 - 这个块的起源:Windows 的设置。
  • Windows 还具有一项称为“焦点辅助”的功能,该功能在启用时会禁用所有通知而不具有优先级。就我而言,我不记得我曾经启用过此功能(一定是曾经启用过,而且我可能不知道它不会在一段时间后再次启用),这就是我的问题的原因。解决方案是将 Chrome 添加到优先级列表中,或者如果您不使用 Focus 辅助,则完全禁用它。
  • 这是我的问题。离合器af
【解决方案3】:

不打开对话框的问题是http。 Chrome 桌面通知仅适用于 https 协议。

我遇到过这个问题,我花了很多时间来解决这个问题。最后我得到了使用 https 的解决方案。

我在这里分享了代码,这样你就可以在 https 上运行,它会正常工作。

// request permission on page load
document.addEventListener('DOMContentLoaded', function() {
  if (!Notification) {
    alert('Desktop notifications not available in your browser. Try Chromium.');
    return;
  }

  if (Notification.permission !== "granted")
    Notification.requestPermission();
});

function notifyMe() {
  if (Notification.permission !== "granted")
    Notification.requestPermission();
  else {
    var notification = new Notification('Notification title', {
      icon: 'http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png',
      body: "Hey there! You've been notified!",
    });

    notification.onclick = function() {
      window.open("http://stackoverflow.com/a/13328397/1269037");
    };
  }
}

notifyMe();

致电notifyMe(); 显示通知

【讨论】:

    猜你喜欢
    • 2011-06-26
    • 2017-02-23
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多