【问题标题】:Does Notification HTML5 work in local in Chrome?通知 HTML5 是否在 Chrome 中本地工作?
【发布时间】:2014-04-02 11:41:08
【问题描述】:

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

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

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

问题出在哪里?

[编辑:问题已解决]

事实上,我允许在 Chrome 设置中显示来自所有网站的通知,现在,它可以正常工作了!

【问题讨论】:

    标签: javascript html google-chrome


    【解决方案1】:

    请求权限仅适用于用户手势(请参阅下面的问题,并引用文档)。

    总之你需要注册一个点击事件或类似的东西然后请求权限。

    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);
    

    这是jsfiddle

    Webkit notifications requestPermission function doesn't work
    requestPermission 请求用户代理请求用户 显示来自脚本的通知的权限。这种方法应该只 在处理用户手势时被调用;在其他情况下 不会有任何影响。此方法是异步的。功能 回调中提供的将在用户响应时被调用 权限请求。如果当前权限级别是 PERMISSION_DENIED,用户代理可能不采取任何行动来响应 请求权限。

    【讨论】:

      猜你喜欢
      • 2015-10-09
      • 2014-08-20
      • 2023-03-15
      • 2012-09-12
      • 1970-01-01
      • 2021-11-21
      • 1970-01-01
      • 2023-02-07
      • 2018-12-21
      相关资源
      最近更新 更多