Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[zh-CN]: sync translation for Notifications API & Battery Status API #23615

Merged
merged 7 commits into from
Sep 23, 2024
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion files/zh-cn/web/api/battery_status_api/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Battery Status API
slug: Web/API/Battery_Status_API
l10n:
sourceCommit: cf05364b23bc44af37a350319a1dd47485746a9c
sourceCommit: be8f7f155a48e11b30c240f8731afb1845f85378
---

{{DefaultAPISidebar("Battery API")}}{{securecontext_header}}
Expand Down
2 changes: 1 addition & 1 deletion files/zh-cn/web/api/batterymanager/chargingtime/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: BatteryManager:chargingTime 属性
slug: Web/API/BatteryManager/chargingTime
l10n:
sourceCommit: 8d54a21ae2677dba11569e7b7d918eac828af0b3
sourceCommit: be8f7f155a48e11b30c240f8731afb1845f85378
---

{{ApiRef("Battery API")}}{{securecontext_header}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: BatteryManager:dischargingTime 属性
slug: Web/API/BatteryManager/dischargingTime
l10n:
sourceCommit: 8d54a21ae2677dba11569e7b7d918eac828af0b3
sourceCommit: be8f7f155a48e11b30c240f8731afb1845f85378
---

{{ApiRef("Battery API")}}{{securecontext_header}}
Expand Down
2 changes: 1 addition & 1 deletion files/zh-cn/web/api/navigator/getbattery/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Navigator:getBattery() 方法
slug: Web/API/Navigator/getBattery
l10n:
sourceCommit: cf05364b23bc44af37a350319a1dd47485746a9c
sourceCommit: cfb7587e3e3122630ad6cbd94d834ecadbe0a746
---

{{ApiRef("Battery API")}}{{securecontext_header}}
Expand Down
2 changes: 1 addition & 1 deletion files/zh-cn/web/api/notification/actions/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Notification:actions 属性
slug: Web/API/Notification/actions
l10n:
sourceCommit: e4c0939929e1b3e1fa3fd3da82b827fca3ed4c79
sourceCommit: aa8fa82a902746b0bd97839180fc2b5397088140
---

{{APIRef("Web Notifications")}}{{SecureContext_Header}}{{SeeCompatTable}} {{AvailableInWorkers}}
Expand Down
2 changes: 1 addition & 1 deletion files/zh-cn/web/api/notification/click_event/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Notification:click 事件
slug: Web/API/Notification/click_event
l10n:
sourceCommit: e4c0939929e1b3e1fa3fd3da82b827fca3ed4c79
sourceCommit: 94ef07a7b073c2663cbace0667bdb717a40bfa28
---

{{APIRef("Web Notifications")}}{{securecontext_header}} {{AvailableInWorkers}}
Expand Down
2 changes: 1 addition & 1 deletion files/zh-cn/web/api/notification/close/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Notification:close() 方法
slug: Web/API/Notification/close
l10n:
sourceCommit: e4c0939929e1b3e1fa3fd3da82b827fca3ed4c79
sourceCommit: aa8fa82a902746b0bd97839180fc2b5397088140
---

{{APIRef("Web Notifications")}}{{securecontext_header}} {{AvailableInWorkers}}
Expand Down
2 changes: 1 addition & 1 deletion files/zh-cn/web/api/notification/dir/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Notification:dir 属性
slug: Web/API/Notification/dir
l10n:
sourceCommit: e4c0939929e1b3e1fa3fd3da82b827fca3ed4c79
sourceCommit: aa8fa82a902746b0bd97839180fc2b5397088140
---

{{APIRef("Web Notifications")}}{{securecontext_header}} {{AvailableInWorkers}}
Expand Down
2 changes: 1 addition & 1 deletion files/zh-cn/web/api/notification/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Notification
slug: Web/API/Notification
l10n:
sourceCommit: e4c0939929e1b3e1fa3fd3da82b827fca3ed4c79
sourceCommit: aa8fa82a902746b0bd97839180fc2b5397088140
---

{{APIRef("Web Notifications")}}{{securecontext_header}} {{AvailableInWorkers}}
Expand Down
53 changes: 21 additions & 32 deletions files/zh-cn/web/api/notification/notification/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Notification:Notification() 构造函数
slug: Web/API/Notification/Notification
l10n:
sourceCommit: e4c0939929e1b3e1fa3fd3da82b827fca3ed4c79
sourceCommit: 09ad551d5fecae5872328ece2871fdf02b115b6e
---

{{APIRef("Web Notifications")}}{{securecontext_header}} {{AvailableInWorkers}}
Expand All @@ -27,45 +27,34 @@ new Notification(title, options)

- : 一个包含要应用于通知的任何自定义设置的选项对象。可能的选项有:

- `dir` {{optional_inline}}
- : 显示通知的方向。它默认为 `auto`,即只采用浏览器的语言设置行为,但你可以通过设置 `ltr` 和 `rtl` 的值来覆盖该行为(尽管大多数浏览器似乎忽略这些设置)。
- `lang` {{optional_inline}}
- : 指定通知的语言,根据 {{RFC(5646, "识别语言的标签(也被称为 BCP47)")}}使用表示语言标签的字符串指定。请参阅 Sitepoint [ISO 2 字母语言代码](https://www.sitepoint.com/iso-2-letter-language-codes/)页面以获取简单参考。
- `actions` {{optional_inline}}
- : 必须未指定或为空数组。`actions` 仅支持使用 {{domxref("ServiceWorkerRegistration.showNotification()")}} 从 service worker 触发的持久通知。
- `badge` {{optional_inline}}
- : 一个包含图像 URL 的字符串,用于在没有足够空间显示通知本身时表示通知。
- : 一个包含图像 URL 的字符串,用于在没有足够空间显示通知本身时表示通知;例如,Android 通知栏。在 Android 设备上,徽章应适应高达 4 倍分辨率的设备,大约 96x96px,并且图像将被自动遮罩
- `body` {{optional_inline}}
- : 一个表示通知正文的字符串,显示在标题下方,默认值是一个空字符串。
- `tag` {{optional_inline}}
- : 一个表示通知的识别标签的字符串,默认值是一个空字符串。
- `data` {{optional_inline}}
- : 任意你想要与通知关联的数据。它可以是任何[可结构化克隆](/zh-CN/docs/Web/API/Web_Workers_API/Structured_clone_algorithm#支持的类型)的数据类型。默认值为 `null`。
- `dir` {{optional_inline}}
- : 显示通知的方向。它默认为 `auto`,即只采用浏览器的语言设置行为,但你可以通过设置 `ltr` 和 `rtl` 的值来覆盖该行为(尽管大多数浏览器似乎忽略这些设置)。
- `icon` {{optional_inline}}
- : 一个包含要在通知中显示的图标的 URL 的字符串。
- `image` {{optional_inline}}
- : 一个包含要在通知中显示的图像的 URL 的字符串。
- `data` {{optional_inline}}
- : 任意你想要与通知关联的数据。它可以是任何数据类型。默认值为 `null`。
- `vibrate` {{optional_inline}}
- : 设备振动硬件随通知一起发出的[振动模式](/zh-CN/docs/Web/API/Vibration_API#振动模式)。当该值被指定时,`silent` 参数不得设置为 `true`。
- `timestamp` {{optional_inline}}
- : 一个表示通知创建或适用的时间(过去、现在或将来)的数字。
- `lang` {{optional_inline}}
- : 指定通知的语言,根据 {{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`。
- `actions` {{optional_inline}}

- : 要在通知中显示的一系列操作的数组,默认为一个空数组。数组中的每个元素都是一个具有以下成员的对象:

- `action`
- : 一个标识要在通知上显示的用户操作的字符串。
- `title`
- : 一个包含要向用户显示的操作文本的字符串。
- `icon` {{optional_inline}}
- : 一个包含与操作一起显示的图标 URL 的字符串。

使用 {{domxref("ServiceWorkerGlobalScope.notificationclick_event", "notificationclick")}} 事件中的 `event.action` 构建适当的响应。

- `silent` {{optional_inline}}
- : 一个布尔值,指定通知是否静音(不发出声音或振动),无论设备设置如何。默认值为 `null`。如果被设置为 `true`,那么不能同时存在 `vibrate` 参数。
- : 一个布尔值,指定通知是否静音(不发出声音或振动),无论设备设置如何。默认值 `null` 表示使用设备默认值。如果被设置为 `true`,那么不能同时存在 `vibrate` 参数。
- `tag` {{optional_inline}}
- : 一个表示通知的识别标签的字符串,默认值是一个空字符串。
- `timestamp` {{optional_inline}}
- : 一个以毫秒为单位表示为 {{glossary("Unix time", "Unix 时间")}}的时间戳,表示与通知相关的时间。当通知用于发送由于设备离线而无法立即发送的消息时,该时间戳可能是过去的时间,或者用于即将开始的会议的未来时间。
- `vibrate` {{optional_inline}}
- : 设备振动硬件随通知一起发出的[振动模式](/zh-CN/docs/Web/API/Vibration_API#振动模式)。当该值被指定时,`silent` 参数不得设置为 `true`。

### 返回值

Expand All @@ -84,11 +73,11 @@ new Notification(title, options)

## 示例

在我们的 [`Emogotchi` 演示](https://chrisdavidmills.github.io/emogotchi/)([查看源代码](https://github.com/chrisdavidmills/emogotchi))中,当我们想要触发通知时,我们运行 `spawnNotification()` 函数。该函数传递参数来指定我们想要的正文、图标和标题,然后它创建必要的 `options` 对象并使用 `Notification()` 构造函数触发通知
这是一个最基本的示例,仅在已授予权限时才显示通知。有关更完整的示例,请参阅 {{domxref("Notification")}} 页面

```js
function spawnNotification(body, icon, title) {
const notification = new Notification(title, { body, icon });
if (Notification.permission === "granted") {
const notification = new Notification("你好呀!");
}
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,21 @@
title: Notification:requestPermission() 静态方法
slug: Web/API/Notification/requestPermission_static
l10n:
sourceCommit: eb61adfd5ca85cd5cb2143353f82fe0520a9c66e
sourceCommit: 09ad551d5fecae5872328ece2871fdf02b115b6e
---

{{APIRef("Web Notifications")}}{{securecontext_header}}

{{domxref("Notification")}} 接口的 **`requestPermission()`** 静态方法向用户为当前来源请求显示通知的权限。

该方法返回一个 {{jsxref("Promise")}},该字符串表示是否授予或拒绝权限。
skyclouds2001 marked this conversation as resolved.
Show resolved Hide resolved

## 语法

```js-nolint
// 最新规范已将此方法更新为基于 promise 的语法,其工作方式如下:
Notification.requestPermission()

// 以前,语法是基于一个简单的回调函数;此版本现已弃用:
// 弃用的使用回调的语法
Notification.requestPermission(callback)
```

skyclouds2001 marked this conversation as resolved.
Show resolved Hide resolved
Expand All @@ -35,6 +36,8 @@ Notification.requestPermission(callback)
- `default`
- : 用户决定未知;在这种情况下,应用程序的行为就像权限被“拒绝”一样。

该方法的弃用版本返回 `undefined`。

## 示例

假设如下基本的 HTML:
Expand All @@ -45,6 +48,8 @@ Notification.requestPermission(callback)

可以按如下方式发送通知——这里我们提供了一组相当详细和完整的代码,如果你想首先检查是否支持通知,然后检查是否已授予当前域名发送通知的权限,然后,如果必需的话,在发送通知前请求权限。

请注意,请求应当响应用户交互:下面,该方法在鼠标单击事件处理器中被调用。

```js
function notifyMe() {
if (!("Notification" in window)) {
Expand All @@ -71,9 +76,6 @@ function notifyMe() {

我们不再在此页面上展示实时示例,因为 Chrome 和 Firefox 不再允许从跨源 {{htmlelement("iframe")}} 请求通知权限,并且其他浏览器也将效仿。要查看实际示例,请查看我们的[待办事项列表示例](https://github.com/mdn/dom-examples/tree/main/to-do-notifications)(参见[实时运行用例](https://mdn.github.io/dom-examples/to-do-notifications/))。

> [!NOTE]
> 在上面的示例中,我们生成通知以响应用户手势(单击按钮)。这不仅仅是最佳实践——你不应该向用户滥发他们不同意的通知——而且未来的浏览器将明确禁止未响应用户手势而触发的通知。例如,Firefox 已经从版本 72 开始这样做了。

## 规范

{{Specifications}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Notification:requireInteraction 属性
slug: Web/API/Notification/requireInteraction
l10n:
sourceCommit: e4c0939929e1b3e1fa3fd3da82b827fca3ed4c79
sourceCommit: aa8fa82a902746b0bd97839180fc2b5397088140
---

{{APIRef("Web Notifications")}}{{SecureContext_Header}} {{AvailableInWorkers}}
Expand Down
4 changes: 2 additions & 2 deletions files/zh-cn/web/api/notification/silent/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Notification:silent 属性
slug: Web/API/Notification/silent
l10n:
sourceCommit: e4c0939929e1b3e1fa3fd3da82b827fca3ed4c79
sourceCommit: e011d5695b264ced5a3f4bb822ca7904e23b7e83
---

{{APIRef("Web Notifications")}}{{SecureContext_Header}} {{AvailableInWorkers}}
Expand All @@ -11,7 +11,7 @@ l10n:

## 值

一个布尔值。默认值是 `false`;设为 `true` 将使通知静音
布尔值或 `null`。如果为 `true`,则使通知静音;如果为 `null`,则遵循设备的默认设置

## 示例

Expand Down
4 changes: 2 additions & 2 deletions files/zh-cn/web/api/notificationevent/action/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
title: NotificationEvent:action 属性
slug: Web/API/NotificationEvent/action
l10n:
sourceCommit: 212e53bbdaf88af59a57ec1f335bde5e828b68c5
sourceCommit: 28848ba41c082db2a8c55e85c804bd06363afb57
---

{{APIRef("Web Notifications")}}
{{APIRef("Web Notifications")}}{{AvailableInWorkers("service")}}

{{domxref("NotificationEvent")}} 接口的 **`action`** 只读属性返回用户单击的通知按钮的字符串 ID。如果用户单击通知除操作按钮以外的区域,或者通知没有按钮,则此值返回空字符串。通知 ID 在创建通知期间通过 actions 数组属性设置,并且无法修改(除非通知被替换)。

Expand Down
4 changes: 2 additions & 2 deletions files/zh-cn/web/api/notificationevent/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
title: NotificationEvent
slug: Web/API/NotificationEvent
l10n:
sourceCommit: 17abe1c7a64248b77998643433cb3285ae937c6e
sourceCommit: aa8fa82a902746b0bd97839180fc2b5397088140
---

{{APIRef("Web Notifications")}}
{{APIRef("Web Notifications")}}{{AvailableInWorkers("service")}}

{{domxref("Notifications API", "", "", "nocode")}} 的 **`NotificationEvent`** 接口表示在 {{domxref("ServiceWorker")}} 的 {{domxref("ServiceWorkerGlobalScope")}} 上触发的通知事件。

Expand Down
4 changes: 2 additions & 2 deletions files/zh-cn/web/api/notificationevent/notification/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
title: NotificationEvent:notification 属性
slug: Web/API/NotificationEvent/notification
l10n:
sourceCommit: 212e53bbdaf88af59a57ec1f335bde5e828b68c5
sourceCommit: 28848ba41c082db2a8c55e85c804bd06363afb57
---

{{APIRef("Web Notifications")}}
{{APIRef("Web Notifications")}}{{AvailableInWorkers("service")}}

{{domxref("NotificationEvent")}} 接口的 **`notification`** 只读属性返回被单击而触发事件的 {{domxref("Notification")}} 实例。{{domxref("Notification")}} 提供对在通知实例化时设置的许多属性的只读访问权限,例如 `tag` 和 `data` 属性,这些属性允许你在通知的 `notificationclick` 事件中延迟使用存储的信息。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
title: NotificationEvent:NotificationEvent() 构造函数
slug: Web/API/NotificationEvent/NotificationEvent
l10n:
sourceCommit: 312081aabba3885b35a81107b3c2fc53428896c5
sourceCommit: 28848ba41c082db2a8c55e85c804bd06363afb57
---

{{APIRef("Web Notifications")}}
{{APIRef("Web Notifications")}}{{AvailableInWorkers("service")}}

**`NotificationEvent()`** 构造函数创建一个新的 {{domxref("NotificationEvent")}} 对象。

Expand Down
11 changes: 3 additions & 8 deletions files/zh-cn/web/api/notifications_api/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Notifications API
slug: Web/API/Notifications_API
l10n:
sourceCommit: e4c0939929e1b3e1fa3fd3da82b827fca3ed4c79
sourceCommit: aa8fa82a902746b0bd97839180fc2b5397088140
---

{{DefaultAPISidebar("Web Notifications")}}{{securecontext_header}} {{AvailableInWorkers}}
Expand All @@ -11,7 +11,7 @@ l10n:

## 概念和用法

在支持该接口的平台上,显示一个系统通知通常涉及两件事。首先,用户需要为当前来源授予权限以显示系统通知,这通常在应用或站点初始化时,使用 {{domxref("Notification.requestPermission_static", "Notification.requestPermission()")}} 方法来完成。这应该通过响应用户交互行为来实现,如单击按钮,例如:
在受支持的平台上,显示系统通知通常涉及两件事。首先,用户需要授予当前来源显示系统通知的权限,这通常在应用或网站初始化时使用 {{domxref("Notification.requestPermission_static", "Notification.requestPermission()")}} 方法完成。仅应在处理用户手势(例如处理鼠标点击时)时调用此方法。例如:

```js
btn.addEventListener("click", () => {
Expand All @@ -20,20 +20,15 @@ btn.addEventListener("click", () => {
});
```

这不仅是最佳实践——你不应该向用户发送他们不同意的通知——并且未来的浏览器将明确禁止未响应用户交互而触发的通知。例如,Firefox 从 72 版本开始就已经这样做了。

这将产生一个请求对话框,内容如下:

![一个对话框,要求用户允许来自该源的通知。有一些选项可以禁止或允许通知](screen_shot_2019-12-11_at_9.59.14_am.png)

从这里,用户可以选择允许来自此来源的通知或阻止来自此来源的通知。一旦做出选择,该设置通常将持续用于当前会话。

> [!NOTE]
> 从 Firefox 44 开始,通知(Notification)和推送([Push](/zh-CN/docs/Web/API/Push_API))的权限已合并。如果为通知授予权限,推送也将启用。

接下来,使用 {{domxref("Notification.Notification","Notification()")}} 构造方法创建一个新通知。这个函数必须传递一个标题参数,并且可以选择传递一个选项对象来指定选项,例如文本方向、正文、要显示的图标、要播放的通知的声音等等。

此外,Notifications API 规范对 [ServiceWorker API](/zh-CN/docs/Web/API/ServiceWorker_API) 指定了多个扩展,以允许 Service Worker 发送通知。
此外,Notifications API 规范对 [ServiceWorker API](/zh-CN/docs/Web/API/Service_Worker_API) 指定了多个扩展,以允许 Service Worker 发送通知。

> [!NOTE]
> 想了解怎么在你的应用里使用通知接口,请阅读[使用 Notifications API](/zh-CN/docs/Web/API/Notifications_API/Using_the_Notifications_API)。
Expand Down
Loading