From 786562957241b288700ac3ab74abd3582e4a8a43 Mon Sep 17 00:00:00 2001 From: skyclouds2001 <95597335+skyclouds2001@users.noreply.github.com> Date: Thu, 19 Sep 2024 11:27:46 +0800 Subject: [PATCH] update --- .../api/notification/notification/index.md | 23 ++++--------- .../shownotification/index.md | 34 ++++++++++++------- 2 files changed, 27 insertions(+), 30 deletions(-) diff --git a/files/zh-cn/web/api/notification/notification/index.md b/files/zh-cn/web/api/notification/notification/index.md index 04e6d1b38f0b6d..cf2d7525c5ba95 100644 --- a/files/zh-cn/web/api/notification/notification/index.md +++ b/files/zh-cn/web/api/notification/notification/index.md @@ -28,24 +28,13 @@ new Notification(title, options) - : 一个包含要应用于通知的任何自定义设置的选项对象。可能的选项有: - `actions` {{optional_inline}} - - - : 要在通知中显示的一系列操作的数组,默认为一个空数组。数组中的每个元素都是一个具有以下成员的对象: - - - `action` - - : 一个标识要在通知上显示的用户操作的字符串。 - - `title` - - : 一个包含要向用户显示的操作文本的字符串。 - - `icon` {{optional_inline}} - - : 一个包含与操作一起显示的图标 URL 的字符串。 - - 使用 {{domxref("ServiceWorkerGlobalScope.notificationclick_event", "notificationclick")}} 事件中的 `event.action` 构建适当的响应。 - + - : 必须未指定或为空数组。`actions` 仅支持使用 {{domxref("ServiceWorkerRegistration.showNotification()")}} 从 service worker 触发的持久通知。 - `badge` {{optional_inline}} - - : 一个包含图像 URL 的字符串,用于在没有足够空间显示通知本身时表示通知。 + - : 一个包含图像 URL 的字符串,用于在没有足够空间显示通知本身时表示通知;例如,Android 通知栏。在 Android 设备上,徽章应适应高达 4 倍分辨率的设备,大约 96x96px,并且图像将被自动遮罩。 - `body` {{optional_inline}} - : 一个表示通知正文的字符串,显示在标题下方,默认值是一个空字符串。 - `data` {{optional_inline}} - - : 任意你想要与通知关联的数据。它可以是任何数据类型。默认值为 `null`。 + - : 任意你想要与通知关联的数据。它可以是任何[可结构化克隆](/zh-CN/docs/Web/API/Web_Workers_API/Structured_clone_algorithm#支持的类型)的数据类型。默认值为 `null`。 - `dir` {{optional_inline}} - : 显示通知的方向。它默认为 `auto`,即只采用浏览器的语言设置行为,但你可以通过设置 `ltr` 和 `rtl` 的值来覆盖该行为(尽管大多数浏览器似乎忽略这些设置)。 - `icon` {{optional_inline}} @@ -53,9 +42,9 @@ new Notification(title, options) - `image` {{optional_inline}} - : 一个包含要在通知中显示的图像的 URL 的字符串。 - `lang` {{optional_inline}} - - : 指定通知的语言,根据 {{RFC(5646, "识别语言的标签(也被称为 BCP47)")}}使用表示语言标签的字符串指定。请参阅 Sitepoint [ISO 2 字母语言代码](https://www.sitepoint.com/iso-2-letter-language-codes/)页面以获取简单参考。 + - : 指定通知的语言,根据 {{RFC(5646, "识别语言的标签(也被称为 BCP47)")}}使用表示语言标签的字符串指定。请参阅 Sitepoint [ISO 2 字母语言代码](https://www.sitepoint.com/iso-2-letter-language-codes/)页面以获取简单参考。默认值为空字符串。 - `renotify` {{optional_inline}} - - : 一个布尔值,指定在新通知替换旧通知后是否应通知用户。默认值为 `false`,这意味着他们不会收到通知。如果该值被指定为 `true`,那么必须同时设置 `tag` 参数。 + - : 一个布尔值,指定在新通知替换旧通知后是否应通知用户。默认值为 `false`,这意味着用户不会收到通知。如果该值被指定为 `true`,那么必须同时设置 `tag` 参数。 - `requireInteraction` {{optional_inline}} - : 指示通知应保持活动状态,直到用户单击或关闭它,而不是自动关闭。默认值为 `false`。 - `silent` {{optional_inline}} @@ -63,7 +52,7 @@ new Notification(title, options) - `tag` {{optional_inline}} - : 一个表示通知的识别标签的字符串,默认值是一个空字符串。 - `timestamp` {{optional_inline}} - - : 一个表示通知创建或适用的时间(过去、现在或将来)的数字。 + - : 一个以毫秒为单位表示为 {{glossary("Unix time", "Unix 时间")}}的时间戳,表示与通知相关的时间。当通知用于发送由于设备离线而无法立即发送的消息时,该时间戳可能是过去的时间,或者用于即将开始的会议的未来时间。 - `vibrate` {{optional_inline}} - : 设备振动硬件随通知一起发出的[振动模式](/zh-CN/docs/Web/API/Vibration_API#振动模式)。当该值被指定时,`silent` 参数不得设置为 `true`。 diff --git a/files/zh-cn/web/api/serviceworkerregistration/shownotification/index.md b/files/zh-cn/web/api/serviceworkerregistration/shownotification/index.md index a1dddd164256eb..45f6663bf7b38c 100644 --- a/files/zh-cn/web/api/serviceworkerregistration/shownotification/index.md +++ b/files/zh-cn/web/api/serviceworkerregistration/shownotification/index.md @@ -19,14 +19,14 @@ showNotification(title, options) ### 参数 - `title` - - : 通知中必须显示的标题。 + - : 定义通知的标题,显示在通知窗口的顶部。 - `options` {{optional_inline}} - : 允许配置通知的对象。它可以具有以下属性: - `actions` {{optional_inline}} {{experimental_inline}} - - : 要在通知中显示的一系列操作的数组。数组中的每个元素都是一个具有以下成员的对象: + - : 要在通知中显示的一系列操作的数组,默认值为空数组。数组中的每个元素都是一个具有以下成员的对象: - `action` - : 一个标识要在通知上显示的用户操作的字符串。 @@ -38,31 +38,31 @@ showNotification(title, options) 使用 {{domxref("ServiceWorkerGlobalScope.notificationclick_event", "notificationclick")}} 事件中的 `event.action` 构建适当的响应。 - `badge` {{optional_inline}} {{experimental_inline}} - - : 一个当没有足够的空间来显示通知本身(例如 Android 通知栏)时来表示通知的图像 URL 的字符串。在 Android 设备上,徽章应适应高达 4 倍分辨率(约 96 x 96 像素)的设备,并且图像将自动屏蔽。 + - : 一个当没有足够的空间来显示通知本身(例如 Android 通知栏)时来表示通知的图像 URL 的字符串。在 Android 设备上,徽章应适应高达 4 倍分辨率(约 96 x 96 像素)的设备,并且图像将被自动遮罩。 - `body` {{optional_inline}} - - : 表示要在通知中显示的额外内容的字符串。 + - : 一个表示通知正文的字符串,显示在标题下方,默认值是一个空字符串。 - `data` {{optional_inline}} {{experimental_inline}} - - : 你想要与通知关联的任意数据。这可以是任何数据类型。 + - : 你想要与通知关联的任意数据。它可以是任何[可结构化克隆](/zh-CN/docs/Web/API/Web_Workers_API/Structured_clone_algorithm#支持的类型)的数据类型。默认值为 `null`。 - `dir` {{optional_inline}} - - : 表示通知的方向;它可以是 `auto`、`ltr` 或 `rtl`。 + - : 表示通知的方向。默认为 `auto`,即采用浏览器的语言设置行为,但你可以通过设置 `ltr` 和 `rtl` 的值来覆盖该行为(尽管大多数浏览器似乎会忽略这些设置)。 - `icon` {{optional_inline}} - : 一个包含要在通知中显示的图标的 URL 的字符串。 - `image` {{optional_inline}} {{experimental_inline}} - : 一个包含要在通知中显示的图像的 URL 的字符串。 - `lang` {{optional_inline}} - - : 指定通知中使用的语言。根据 {{RFC(5646, "识别语言的标签(也被称为 BCP47)")}},此字符串必须是有效的语言标签。 + - : 指定通知的语言,根据 {{RFC(5646, "识别语言的标签(也被称为 BCP47)")}}使用表示语言标签的字符串指定。请参阅 Sitepoint [ISO 2 字母语言代码](https://www.sitepoint.com/iso-2-letter-language-codes/)页面以获取简单参考。默认值为空字符串。 - `renotify` {{optional_inline}} {{experimental_inline}} - - : 一个布尔值,指示重复使用 `tag` 值时是否阻止振动和声音提醒。如果 _options_ 参数的 `renotify` 属性为 `true` 并且 _options_ 参数的 `tag` 属性是空字符串,则会抛出 `TypeError`。默认为 `false`。 + - : 一个布尔值,指示重复使用 `tag` 值时是否阻止振动和声音提醒。默认为 `false`,表示不会通知。如果为 `true`,则还必须设置 `tag` 参数。 - `requireInteraction` {{optional_inline}} {{experimental_inline}} - - : 指示在屏幕足够大的设备上,通知应保持活动状态,直到用户单击或关闭它。如果此值不存在或为 `false`,桌面版 Chrome 将在大约二十秒后自动最小化通知。默认值为 `false`。 + - : 表示通知应保持活动状态直到用户点击或关闭它,而不是自动关闭。默认值为 `false`。 - `silent` {{optional_inline}} - - : 设置后表示不应发出声音或振动。如果 _options_ 参数的 `silent` 属性为 `true` 并且 _options_ 参数的 `vibrate` 属性存在,则会抛出 `TypeError` 异常。默认值为 `null`,表示使用设备默认值。 + - : 一个布尔值,用于指定通知是否静音(不发出声音或振动),无论设备设置如何。默认值为 `null`,表示遵循设备默认值。如果为 `true`,则 `vibrate` 参数不得指定。 - `tag` {{optional_inline}} - - : 给定通知的 ID,允许你在必要时使用脚本查找、替换或删除通知。 + - : 表示通知的标签的字符串。默认值为空字符串。 - `timestamp` {{optional_inline}} - - : 一个时间戳,以毫秒为单位的 {{glossary("Unix time")}},表示与通知关联的时间。这可能是在过去,当通知用于因设备离线而无法立即发送的消息时,或者在将来,当通知用于即将开始的会议时。 + - : 一个时间戳,以毫秒为单位的 {{glossary("Unix time", "Unix 时间")}},表示与通知关联的时间。这可能是在过去,当通知用于因设备离线而无法立即发送的消息时,或者在将来,当通知用于即将开始的会议时。 - `vibrate` {{optional_inline}} {{experimental_inline}} - - : 一个与通知显示一起运行的振动模式。振动模式可以是只有一个成员的阵列。这些值是以毫秒为单位的时间,其中偶数索引(0、2、4 等)表示振动多长时间,奇数索引表示暂停多长时间。例如,`[300, 100, 400]` 会振动 300 毫秒,暂停 100 毫秒,然后振动 400 毫秒。 + - : 设备振动硬件随通知一起发出的[振动模式](/zh-CN/docs/Web/API/Vibration_API#振动模式)。当该值被指定时,`silent` 参数不得设置为 `true`。 ### 返回值 @@ -72,6 +72,14 @@ showNotification(title, options) - `TypeError` - : 如果当前 Service Worker 的状态不是 `activating` 或 `activated`,或者用户明确拒绝了浏览器使用 API 的权限请求,则抛出该异常。 +- {{jsxref("TypeError")}} + - : 如果满足以下条件之一,则抛出该异常: + - 当前 service worker 的状态不是 `activating` 或 `activated`。 + - 用户已明确拒绝浏览器使用该 API 的权限请求。 + - `silent` 选项是 `true` 且 `vibrate` 选项被同时指定。 + - `renotify` 选项是 `true` 但是 `tag` 选项为空值。 +- `DataCloneError` {{domxref("DOMException")}} + - : 若由于某种原因序列化 `data` 选项失败,则抛出该异常。 ## 示例