本地javascript网站(文件://)混淆了Chrome、Edge上的通知权限

本地javascript网站(文件://)混淆了Chrome、Edge上的通知权限,javascript,browser,permissions,notifications,local,Javascript,Browser,Permissions,Notifications,Local,我正在为我工作的呼叫中心建立一个配套网站/应用程序,它可以做很多方便的事情,包括跟踪休息时间,这就是我遇到的问题 这个“站点”将被存储为用户保存在其计算机上的html文件(出于安全原因,我无法在其他地方托管它),这似乎是问题的核心,因为我正在尝试启用桌面警报 以下是我用于请求通知许可的内容: document.addEventListener('DOMContentLoaded', function () { if (!Notification) { alert('Deskt

我正在为我工作的呼叫中心建立一个配套网站/应用程序,它可以做很多方便的事情,包括跟踪休息时间,这就是我遇到的问题

这个“站点”将被存储为用户保存在其计算机上的html文件(出于安全原因,我无法在其他地方托管它),这似乎是问题的核心,因为我正在尝试启用桌面警报

以下是我用于请求通知许可的内容:

    document.addEventListener('DOMContentLoaded', function () {
  if (!Notification) {
    alert('Desktop notifications not available in this browser.');
    return;
  }
  if (Notification.permission !== "granted")
    Notification.requestPermission();
});

function notifyMe() {
  if (Notification.permission !== "granted")
    Notification.requestPermission();
 else {
    var notification = new Notification('Notification title', {
      body: "Notification",
    });
  }
}    
…我在这里的另一个线程中发现的

问题是,作为一个本地文件,Chrome永远不会承认它拥有权限:我可以单击“批准”或“阻止”,但什么也不会发生。如果我手动将“file://*”添加到Chrome允许的站点,它将收到通知(但是,如果我手动添加整个本地地址,则不会收到通知)。Edge会将“文件:”添加到其已批准的列表中,但此操作无效,无法编辑

我可能在这里运气不好,因为我希望在Chrome中只需单击一个按钮即可获得批准通知(而在Edge中它们根本不起作用)

是否有办法指定您希望浏览器添加到已批准列表中的地址?我可以看到这样做会带来很多潜在的安全问题,但这可能是唯一可以解决这个问题的方法


提前谢谢

什么是
通知
?(此外,如果您无法在本地服务器上托管文件,那么使用html/javascript似乎是完全错误的方法。最好使用另一种语言并将其编译/转换为可执行文件。)“通知”显示桌面通知,但仅当页面已显式获得这样做的权限时。我意识到另一种语言可能更好,但我正在使用这个项目自学JS,并构建一个工具来提高我的工作效率chrome://settings/content/notifications 是唯一对我也有效的解决方案;建议html文件必须在线托管