Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通知未显示,通知API_Javascript_Html_Notifications - Fatal编程技术网

Javascript 通知未显示,通知API

Javascript 通知未显示,通知API,javascript,html,notifications,Javascript,Html,Notifications,使用通知API创建通知时,不会显示通知 我最近尝试使用通知api来创建一个简单的通知并显示它。最终,我打算在我正在构建的应用程序中使用通知。请求权限的步骤进行得很顺利,但当我创建通知时,它根本没有显示出来 我知道我的浏览器支持通知api,我没有阻止它们。我也没有使用移动设备,我使用的是最新版本的chrome。这些通知不会显示在任何地方,包括使用ssh加密的网站 这是我的密码: async function notify(data) { function createNotification(

使用通知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'})

异步函数通知(数据){
函数createNotification(数据){
常量通知=新通知(data.title{
图标:data.icon,
body:data.body
})
退货通知
}
函数checkNotifications(){
如果(通知){
返回真值
}否则{
警报('此浏览器不支持通知')
返回错误
}
}
if(checkNotifications()){
如果(Notification.permission===“已授予”){
createNotification(数据)
}否则{
if(等待通知。requestPermission()=“已授予”){
console.log(createNotification(数据))
}否则{
警报('您将不会收到通知')
}
}
}
}
通知({title:'test',body:'hello',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>

网站
预期成果:

将显示通知

实际结果:

没有错误,但也没有通知

编辑:


如果我将通知设置为“允许”而不是“询问”,则通知可以工作。

清单中是否有此项

"permissions": [
          "contentSettings"
        ],
然后在你的剧本里

chrome.contentSettings.notifications.set({primaryPattern:'<all_urls>',setting:'allow'});

chrome.contentSettings.notifications.set({primaryPattern:'

清单中有这个吗

"permissions": [
          "contentSettings"
        ],
然后在你的剧本里

chrome.contentSettings.notifications.set({primaryPattern:'<all_urls>',setting:'allow'});

chrome.contentSettings.notifications.set({primaryPattern:'

检查您的windows设置是否启用了通知

开始>设置>系统>通知和操作


您也可以单击屏幕右下角的通知中心,然后单击管理通知。您可以启用通知,但也可以阻止基于chrome的通知。

检查您的windows设置是否启用了通知

开始>设置>系统>通知和操作


您也可以单击屏幕右下角的通知中心,然后单击管理通知。您可以启用这些通知,但也可以阻止基于chrome的通知。

这对我有效@Fraction它对我无效@Fraction它对我无效
chrome
变量来自何处对不起,我从来没有使用过manifest,你能给我解释一下它是什么吗?谢谢。要利用Chrome api,你需要有一个manifest。我没有使用Chrome通知。我使用的是桌面通知api。好的,如果你不是浏览器的作者,那就忽略上面的内容。Chrome
变量来自哪里?对不起,我没有我从来没有使用过清单,你能给我解释一下它是什么吗?谢谢。要利用Chrome api,你需要一个清单。我没有使用Chrome通知。我使用的是桌面通知api。好的,如果你不是浏览器作者,那么就忽略上面的内容。