正在重置通知 API 权限

Notification API permission being reset

我正在尝试创建一个聊天室并准备好所有内容 运行,但在桌面通知方面遇到了困难。每当我请求通知权限并将访问权限设置为 'granted' 时,权限将重置为 'default',不允许显示通知。有没有办法让权限保持设置为 'granted',或者我是否必须让他们在每次发送新消息时都允许通知? 运行 它作为本地文件(在 ChromeOS 上)涉及保护吗?这是有关通知的部分代码:

function showNotification() {
  var title = "New Message!";
  var messageValueNotif = document.querySelectorAll(".message");
  if (messageValueNotif.length !== 0) {
    messageValueNotif = messageValueNotif[messageValueNotif.length - 1].innerHTML;
  } else {
    return false;
  }
  var currentFavicon = document.querySelector('link').href;
  var notif = new Notification(title, {
    body: messageValueNotif,
    icon: currentFavicon
  });
  notif.onclick = () => {
    notif.close();
    window.parent.focus();
  }
}

function requestAndShowPermission() {
  if (Notification.permission === 'granted') {
    showNotification();
  } else if (Notification.permission !== 'denied') {
    Notification.requestPermission().then(function(permission) {
      showNotification()
    });
  }
}

window.onload = requestAndShowPermission();

这显然是 ChromeOS 的文件保护。