#javascript
#javascript
Вопрос:
Тестирование API уведомлений.
Я последовал приведенному здесь примеру:https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API/Using_the_Notifications_API
Я получаю приглашение дать свое согласие, однако, даже когда я даю его, внутреннее состояние все еще не предоставлено.
Источник проблемы, я полагаю, заключается в том, что я запускаю файл в браузере, что означает, что он не размещен на веб-сервере, я использую file://...
для доступа к нему, но я не смог найти место, где говорится, что это должно быть проблемой.
Ниже приведен код:
if (Notification.permission === "granted") {
var notification = new Notification("Hi there!");
setTimeout(notification.close.bind(notification), 1000);
} else if (Notification.permission !== 'denied') {
Notification.requestPermission(function (permission) {
if (permission === "granted") {
var notification = new Notification("Hi there!");
setTimeout(notification.close.bind(notification), 1000);
}
});
} else {
alert("Notification access denied.");
}
Пытаюсь выяснить, почему это не работает.
Комментарии:
1. Я полагаю, что настройки уведомлений (разрешать или запрещать) связаны с доменами (или веб-сайтами). Итак, если домена нет, как он может узнать, может ли он показывать уведомление или нет? И, как уже упоминалось, это будущее доступно в WebWorker. И веб-работнику, я полагаю, нужно знать, в каком домене это работает.
Ответ №1:
Если вы используете Chrome, он не разрешает использование файлов cookie в локальных файлах. Вы могли бы просто разместить веб-сервер, например, с помощью xampp или wampp, и обслуживать страницу там. Это позволило бы установить файлы cookie.