使用通知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>预期结果:
此时将显示通知
实际结果:
没有错误,但也没有通知。
编辑:
如果我将通知设置为“允许”而不是“询问”,则通知可以正常工作。
发布于 2019-03-31 05:15:00
你们的货单上有这个吗?
"permissions": [
"contentSettings"
],然后在你的脚本里。
chrome.contentSettings.notifications.set({primaryPattern:'<all_urls>',setting:'allow'});对不起,你是服务器端还是客户端?
发布于 2021-04-06 23:25:36
检查您的windows设置是否已启用通知。
开始>设置>系统>通知和操作
您也可以单击屏幕右下角的通知中心,然后单击manage notifications。你可能已经启用了它们,但是你也可以阻止基于chrome的浏览器。
https://stackoverflow.com/questions/55435508
复制相似问题