通知

通知允许您使用底层操作系统的通知服务来传达有关您的扩展或其内容的信息。

Example notification on macOS, located below the system clock, with a bold title reading "Click notification" followed by regular text reading "You clicked https://mdn.org.cn/en-US/docs/MDN". The notification has the Firefox Nightly logo on the left side, and a link icon on the right.

通知可以包含对用户的行动呼吁,您的附加组件可以监听用户点击通知或通知关闭。

指定通知

您可以使用notifications API 以编程方式管理通知。要使用此 API,您必须在您的 manifest.json 中请求 notifications 权限。

json
"permissions": ["notifications"]

然后,您可以使用notifications.create 创建您的通知,例如来自notify-link-clicks-i18n 的此示例:

js
const title = browser.i18n.getMessage("notificationTitle");
const content = browser.i18n.getMessage("notificationContent", message.url);
browser.notifications.create({
  type: "basic",
  iconUrl: browser.extension.getURL("icons/link-48.png"),
  title,
  message: content,
});

此代码创建了一个带有图标、标题和消息的通知。

如果通知包含对用户的行动呼吁,您可以监听用户点击通知,以调用处理该操作的函数。

js
browser.notifications.onClicked.addListener(handleClick);

如果您通过通知发出行动呼吁,您还需要定义可选的通知 id,以便您可以确定用户选择了哪个行动呼吁。

图标

有关如何创建图标以与通知一起使用的详细信息,请参见Iconography(图标集)中的Acorn Design System 文档。

示例

GitHub 上的webextensions-examples 存储库包含notify-link-clicks-i18n 示例,该示例实现了通知。