Локальный веб-сайт javascript (file: ///) сбивает с толку права на уведомления в Chrome, Edge - PullRequest
0 голосов
/ 13 ноября 2018

Я создаю сопутствующий веб-сайт / приложение для колл-центра, в котором я работаю, и который делает кучу полезных вещей, включая отслеживание перерывов, и вот где у меня возникают проблемы.

Этот «сайт» будетхраниться в виде 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 добавит «file:» в свой утвержденный список, но это не работает и не может быть отредактировано.

Возможно, мне просто не повезло, так как я хочу получать уведомления, работающие одним нажатием кнопки дляутверждение в Chrome (и они не будут работать вообще в Edge).

Есть ли способ указать адрес, который браузер хочет добавить в утвержденный список?При этом я вижу ряд потенциальных проблем безопасности, но, возможно, это единственное, что решит эту проблему.

Заранее спасибо!

...