该页面翻译自 Google Chrome Extensions 与 Google Chrome Apps。除非特别说明,该页面的内容遵循 Creative Commons Attribution 3.0 License,代码示例遵循 BSD License。
| 描述: |
使用 chrome.notifications API
通过模板创建丰富通知,并在系统托盘中向用户显示这些通知。
|
| 可用版本: |
从 Chrome 28 开始稳定支持。
|
| 权限: |
"notifications"
|
| 了解更多: |
Chrome 应用办公时间:丰富的通知
|
注意:目前该 API 只能在 Chrome OS、Windows 和 Mac 上使用。
要使用该 API,请调用
create
方法,并通过 options 参数传递通知详情:
chrome.notifications.create(id, options, creationCallback);
NotificationOptions 必须包含 TemplateType,它定义了可用的通知详情以及这些详情是如何显示的。
所有模板类型(simple、basic、image、list)都必须包含通知的
title(标题)和 message(消息),还要包含
iconUrl(图标 URL),指向显示在通知消息左侧的小图标。image
模板类型还包含 imageUrl(图片 URL),指向在通知中预览的图片。由于
Chrome 应用严格的内容安全策略,这些 URL
都应该指向本地资源或使用数据 URL。
如下是 basic 模板的一个例子:
var opt = {
type: "basic",
title: "主要标题",
message: "要显示的主要消息",
iconUrl: "url_to_small_icon"
}
list(列表)模板以列表的形式显示 items。
var opt = {
type: "list",
title: "主要标题",
message: "要显示的主要消息",
iconUrl: "url_to_small_icon",
items: [{ title: "Item1", message: "这是项目一。"},
{ title: "Item2", message: "这是项目二。"},
{ title: "Item3", message: "这是项目三。"}]
}
如果您有关于不同布局的新模板的想法,请报告问题让我们知道。
所有通知都可以包含事件监听器和事件处理函数,响应用户的操作。例如,您可以编写一个简单的事件处理函数,响应 onButtonClicked 事件。
请考虑将事件监听器和处理函数包含在事件页面中,这样即使应用或扩展程序不在运行时也能弹出通知。
"basic",
"image",
"list",
or "progress"
"granted",
or "denied"
创建并显示通知。
callback 参数应该指定一个如下形式的函数:
function(string notificationId) {...};
更新已有的通知。
callback 参数应该指定一个如下形式的函数:
function(boolean wasUpdated) {...};
清除指定的通知。
callback 参数应该指定一个如下形式的函数:
function(boolean wasCleared) {...};
获取用户是否为当前应用或扩展程序启用通知。
callback 参数应该指定一个如下形式的函数:
function(PermissionLevel level) {...};
用户更改了权限级别。