From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/zh-cn/web/api/notificationevent/index.html | 92 ++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 files/zh-cn/web/api/notificationevent/index.html (limited to 'files/zh-cn/web/api/notificationevent') diff --git a/files/zh-cn/web/api/notificationevent/index.html b/files/zh-cn/web/api/notificationevent/index.html new file mode 100644 index 0000000000..b14747d407 --- /dev/null +++ b/files/zh-cn/web/api/notificationevent/index.html @@ -0,0 +1,92 @@ +--- +title: NotificationEvent +slug: Web/API/NotificationEvent +translation_of: Web/API/NotificationEvent +--- +

{{APIRef("Web Notifications")}}

+ +

传递给 {{domxref("ServiceWorkerGlobalScope.onnotificationclick", "onnotificationclick")}} 处理程序的参数的NotificationEvent接口,该接口表示通知单击事件,该事件在 {{domxref("ServiceWorkerGlobalScope")}} ,{{domxref("ServiceWorker")}} 。

+ +

该接口继承自{{domxref("ExtendableEvent")}}接口。

+ +

建设者

+ +
+
{{domxref("NotificationEvent.NotificationEvent","NotificationEvent()")}}
+
创建一个新NotificationEvent对象。
+
+ +

物产

+ +

从其祖先{{domxref("Event")}}继承属性

+ +
+
{{domxref("NotificationEvent.notification")}} {{readonlyInline}}
+
返回一个{{domxref("Notification")}}对象,该对象表示单击以触发事件的通知。
+
{{domxref("NotificationEvent.action")}} {{readonlyinline}}
+
返回用户单击的通知按钮的字符串ID。如果用户在除操作按钮之外的其他位置单击了通知,或者该通知没有按钮,则此值返回一个空字符串。
+
+ +

方法

+ +

从其父项{{domxref("ExtendableEvent")}}继承方法

+ +
+
{{domxref("ExtendableEvent.waitUntil", "ExtendableEvent.waitUntil()")}}
+
+

延长事件的寿命。告诉浏览器工作正在进行中。

+
+
+ +

+ +
self.addEventListener('notificationclick', function(event) {
+  console.log('On notification click: ', event.notification.tag);
+  event.notification.close();
+
+  // This looks to see if the current is already open and
+  // focuses if it is
+  event.waitUntil(clients.matchAll({
+    type: "window"
+  }).then(function(clientList) {
+    for (var i = 0; i < clientList.length; i++) {
+      var client = clientList[i];
+      if (client.url == '/' && 'focus' in client)
+        return client.focus();
+    }
+    if (clients.openWindow)
+      return clients.openWindow('/');
+  }));
+});
+
+ +

技术指标

+ + + + + + + + + + + + + + + + +
规范状态评论
{{SpecName('Web Notifications','#notificationevent','NotificationEvent')}}{{Spec2('Web Notifications')}}生活水平。
+ +
+

注意:此接口在Notifications API中指定,但是可以通过 {{domxref("ServiceWorkerGlobalScope")}}访问。

+
+ +

浏览器兼容性

+ +
+ + +

{{Compat("api.NotificationEvent")}}

+
-- cgit v1.2.3-54-g00ecf