【问题标题】:Chrome Rich Notifications - How to use itChrome 丰富的通知 - 如何使用它
【发布时间】:2021-09-03 16:10:46
【问题描述】:

我尝试使用 Chrome 丰富的通知有 2-3 天。我已经阅读了一些关于此的评论,但没有人告诉如何使用实现它。

  1. 我想在 html 测试页面中尝试一下。我怎样才能做到这一点?因为我无法显示至少一个基本的通知... :(
  2. 我想在我正在构建的扩展中实现这一点。我怎样才能做到这一点?有特殊说明吗?

我不需要这个简单的通知:

function notifyMe() {

      if (!("Notification" in window)) {
        alert("This browser does not support desktop notification");
      }

      else if (Notification.permission === "granted") {
        var notification = new Notification("Message");
      }

      else if (Notification.permission !== 'denied') {
        Notification.requestPermission(function (permission) {

          if(!('permission' in Notification)) {
            Notification.permission = permission;
          }

          if (permission === "granted") {
            var notification = new Notification("Message");
          }
        });
      }
    }//--Notification code--    

我需要丰富的通知,因为我需要它提供的一堆选项。

有人可以帮助我提供教程或 html 测试页以了解如何实现它吗?

【问题讨论】:

  • 您在此处显示的不是所谓的Rich Notifications(即chrome.notifications API)。这只是简单的web notification API
  • 我知道我在这里展示了什么。这就是为什么我说“我不需要这个简单的通知:”我需要一些东西来设置标题、正文等。
  • 你应该把那个“不要”粗体,我第一次阅读这个问题时错过了它。包含这样一个您不需要需要的完整示例几乎没有意义 - 只需名称和文档链接就足够了。

标签: javascript html dom google-chrome-extension dom-events


【解决方案1】:

1) 您不能在具有适当权限的扩展之外使用大多数chrome API。所以你不能在一个独立的 HTML 文件中测试它 - 除非它被打包在一个扩展中,即一个选项页面。

因此您可以将test.html 文件添加到扩展程序的文件夹中,并将其打开为

chrome-extension://yourExtensionIdHere/test.html

不过,在后台脚本中测试它可能更容易。

2) 好吧,你需要阅读the docsthis article也有一些例子。

要记住的要点:

  1. 你需要声明"notifications"权限。

  2. 您不能在内容脚本中使用它们。

  3. 图标是必需的

  4. 需要回调(甚至什么都不做)(这是 Chrome 42 之前的错误)。

    我强烈建议使用诊断回调:

    function diag() {
      if (chrome.runtime.lastError) {
        console.error(chrome.runtime.lastError.message);
      }
    }
    
    chrome.notifications.create(id, options, diag);
    

    它会在使用 API 时警告您任何错误。

【讨论】:

  • Chrome 42 中的回调可能是going to be optional
  • @RobW 在您自行分配该错误之后,我从不怀疑;)
  • 我只想知道如何用网页实现这个API。我知道我不能在基本的 html 页面中使用它作为
  • 不能在扩展之外使用它。多么可悲。请参阅stackoverflow.com/q/24632983/934239 - 如果您想向网站添加丰富的通知,您需要编写一个扩展程序并要求您的用户安装它。编辑:更好的问题是这个:stackoverflow.com/q/26621042/934239
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多