Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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 通知HTML5在Chrome的本地应用中有效吗?_Javascript_Html_Google Chrome - Fatal编程技术网

Javascript 通知HTML5在Chrome的本地应用中有效吗?

Javascript 通知HTML5在Chrome的本地应用中有效吗?,javascript,html,google-chrome,Javascript,Html,Google Chrome,我正在尝试在Chrome中创建通知。 我已经编写了这个简单的代码,但是CHrome中显示了通知,而checkPermission()返回良好0 我做的事情与这个网站(示例)相同,它在我的Chrome浏览器中运行良好 if (window.webkitNotifications.checkPermission() == 0) { window.webkitNotifications.createNotification("icon.png", "title", "text").show();

我正在尝试在Chrome中创建通知。 我已经编写了这个简单的代码,但是CHrome中显示了通知,而
checkPermission()
返回良好
0

我做的事情与这个网站(示例)相同,它在我的Chrome浏览器中运行良好

if (window.webkitNotifications.checkPermission() == 0) {
  window.webkitNotifications.createNotification("icon.png", "title", "text").show();
} else {
  window.webkitNotifications.requestPermission();
}
问题在哪里

[编辑:问题已解决]

事实上,我允许在Chrome设置中显示来自所有网站的通知,现在,它运行良好


请求权限仅对用户手势有效(请参见下面的问题,并引用文档)

简而言之,您需要注册一个点击事件或类似事件,然后请求权限

document.querySelector('#show_button').addEventListener('click', function() {
  if (window.webkitNotifications.checkPermission() == 0) { // 0 is PERMISSION_ALLOWED

    var notification = window.webkitNotifications.createNotification(
        'icon.png', 'Notification Title', 'Notification content...');
      notification.show();
  } else {
    window.webkitNotifications.requestPermission();
  }
}, false);
这里有一个


requestPermission用户代理向用户请求的请求 显示来自脚本的通知的权限。此方法仅适用于 在处理用户手势时被调用;在其他情况下 没有效果。此方法是异步的。功能 当用户响应时,将调用回调中提供的 权限请求。如果当前权限级别为 权限\u被拒绝,用户代理无法响应 请求许可

document.querySelector('#show_button').addEventListener('click', function() {
  if (window.webkitNotifications.checkPermission() == 0) { // 0 is PERMISSION_ALLOWED

    var notification = window.webkitNotifications.createNotification(
        'icon.png', 'Notification Title', 'Notification content...');
      notification.show();
  } else {
    window.webkitNotifications.requestPermission();
  }
}, false);