При создании уведомлений с помощью API уведомлений уведомления не отображаются.
Недавно я пытался использовать API уведомлений для создания простого уведомления и его отображения.В конце концов я собирался использовать уведомления в приложении, которое я создаю.Шаг получения разрешения прошел гладко, но когда я создал уведомление, оно просто не отображалось.
Я знаю, что мой браузер поддерживает API уведомлений, и я не блокирую их.Я также не использую мобильное устройство и использую последнюю версию Chrome.Эти уведомления нигде не отображаются, в том числе веб-сайты с SSH-шифрованием.
Вот мой код:
async function notify(data) {
function createNotification(data) {
const notification = new Notification(data.title, {
icon: data.icon,
body: data.body
})
return notification
}
function checkNotifications() {
if(Notification) {
return true
} else {
alert('Notifications are not supported on this browser.')
return false
}
}
if(checkNotifications()) {
if(Notification.permission === 'granted') {
createNotification(data)
} else {
if(await Notification.requestPermission() === 'granted') {
console.log(createNotification(data))
} else {
alert('you will not recive notifications')
}
}
}
}
notify({title: 'test', body: '<b>hello</b>', icon: '../logo.png'})
Вот мой HTML:
<!DOCTYPE html>
<html>
<head>
<title>website</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<script type='text/javascript' src='./notification.js'></script>
</body>
</html>
Ожидаемые результаты:
В уведомлении отображается
фактические результаты:
Без ошибок, но и без уведомлений.
РЕДАКТИРОВАТЬ:
Уведомления работают, если я устанавливаю уведомление «разрешить» вместо «спрашивать».