From 58c02cde33be2d06738f2c674be4eb9c264efeef Mon Sep 17 00:00:00 2001 From: skyclouds2001 <95597335+skyclouds2001@users.noreply.github.com> Date: Tue, 3 Sep 2024 20:38:36 +0800 Subject: [PATCH] [zh-cn]: update translation of broadcast channel api - part i (#23358) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: A1lo --- .../web/api/broadcast_channel_api/index.md | 5 ++- .../broadcastchannel/index.md | 10 ++--- files/zh-cn/web/api/broadcastchannel/index.md | 41 ++++++++----------- .../web/api/broadcastchannel/name/index.md | 20 ++++----- 4 files changed, 35 insertions(+), 41 deletions(-) diff --git a/files/zh-cn/web/api/broadcast_channel_api/index.md b/files/zh-cn/web/api/broadcast_channel_api/index.md index 48bac3cb63e15f..2c32d6329bfb01 100644 --- a/files/zh-cn/web/api/broadcast_channel_api/index.md +++ b/files/zh-cn/web/api/broadcast_channel_api/index.md @@ -2,13 +2,16 @@ title: Broadcast Channel API slug: Web/API/Broadcast_Channel_API l10n: - sourceCommit: 50a45d52fd9f45f1ca30b546af5920d0ccda82dc + sourceCommit: be8f7f155a48e11b30c240f8731afb1845f85378 --- {{DefaultAPISidebar("Broadcast Channel API")}} {{AvailableInWorkers}} **Broadcast Channel API** 允许{{glossary("browsing context", "浏览上下文")}}(即 _window_、_tab_、_frame_ 或 _iframe_)与同{{glossary("origin", "源")}}的 worker 之间进行基本通信。 +> [!NOTE] +> 确切地说,允许使用相同的[存储分区](/zh-CN/docs/Web/Privacy/State_Partitioning)的浏览上下文之间进行通信。首先根据顶级网站对存储空间进行分区,例如,如果你在 `a.com` 处打开了一个页面,其中嵌入了 `b.com` 的 iframe,而另一个页面打开的页面是 `b.com`,则 iframe 无法与第二个页面通信,尽管它们在技术上是同源的。但是,如果第一个页面也位于 `b.com` 上,则 iframe 可以与第二个页面通信。 + 通过创建 {{domxref("BroadcastChannel")}} 对象,你可以接收发布到该对象的任何消息。你不必维护对要与之通信的框架或 worker 的引用:他们可以通过构建具有相同名称的 {{domxref("BroadcastChannel")}} 来“订阅”特定频道,并在它们之间进行双向通信。 ![Broadcast Channel API 的原理](broadcastchannel.png) diff --git a/files/zh-cn/web/api/broadcastchannel/broadcastchannel/index.md b/files/zh-cn/web/api/broadcastchannel/broadcastchannel/index.md index cd28a0e11d6709..d173c8ccfeca75 100644 --- a/files/zh-cn/web/api/broadcastchannel/broadcastchannel/index.md +++ b/files/zh-cn/web/api/broadcastchannel/broadcastchannel/index.md @@ -1,14 +1,14 @@ --- title: BroadcastChannel() slug: Web/API/BroadcastChannel/BroadcastChannel +l10n: + sourceCommit: 0a881eea07f0cec6ca4ed85a24af43b367a9f80d --- -{{APIRef("BroadCastChannel API")}} +{{APIRef("BroadCastChannel API")}} {{AvailableInWorkers}} **`BroadcastChannel()`** 构造函数用于创建一个 {{domxref("BroadcastChannel")}} 对象,并与底层的通道相关联。 -{{AvailableInWorkers}} - ## 语法 ```js-nolint @@ -18,7 +18,7 @@ new BroadcastChannel(channelName) ### 参数 - `channelName` - - : 表示通道名称的字符串;对于相同的{{glossary("origin", "来源")}}下的所有{{glossary("browsing context", "浏览上下文")}},一个名称只对应一个通道。 + - : 表示通道名称的字符串;对于同{{glossary("origin", "源")}}下的所有{{glossary("browsing context", "浏览上下文")}},一个名称只对应一个通道。 ## 示例 @@ -26,7 +26,7 @@ new BroadcastChannel(channelName) // 创建一个监听“internal_notification”通道的新通道。 const bc = new BroadcastChannel("internal_notification"); -bc.postMessage("New listening connected!"); +bc.postMessage("新的监听连接!"); ``` ## 规范 diff --git a/files/zh-cn/web/api/broadcastchannel/index.md b/files/zh-cn/web/api/broadcastchannel/index.md index 33e286b8e0958a..010c336851420d 100644 --- a/files/zh-cn/web/api/broadcastchannel/index.md +++ b/files/zh-cn/web/api/broadcastchannel/index.md @@ -1,52 +1,45 @@ --- title: BroadcastChannel slug: Web/API/BroadcastChannel +l10n: + sourceCommit: 50a45d52fd9f45f1ca30b546af5920d0ccda82dc --- -{{APIRef("Broadcast Channel API")}} +{{APIRef("Broadcast Channel API")}} {{AvailableInWorkers}} -**`BroadcastChannel`** 接口代理了一个命名频道,可以让指定 {{glossary("origin")}} 下的任意 {{glossary("browsing context")}} 来订阅它。它允许同源的不同浏览器窗口,Tab 页,frame 或者 iframe 下的不同文档之间相互通信。通过触发一个 [`message`](/zh-CN/docs/Web/API/BroadcastChannel/message_event) 事件,消息可以广播到所有监听了该频道的 `BroadcastChannel` 对象。 +**`BroadcastChannel`** 接口表示给定{{glossary("origin", "源")}}的任何{{glossary("browsing context", "浏览上下文")}}都可以订阅的命名频道。它允许同源的不同浏览器窗口、标签页、frame 或者 iframe 下的不同文档之间相互通信。消息通过 {{domxref("BroadcastChannel/message_event", "message")}} 事件进行广播,该事件在侦听该频道的所有 `BroadcastChannel` 对象上触发,发送消息的对象除外。 -{{AvailableInWorkers}} +{{InheritanceDiagram}} ## 构造函数 - {{domxref("BroadcastChannel.BroadcastChannel", "BroadcastChannel()")}} - : 创建一个链接到命名频道的对象。 -## 属性 +## 实例属性 -_该接口会从它的父级 {{domxref("EventTarget")}} 继承属性。_ +_该接口也从它的父接口 {{domxref("EventTarget")}} 继承属性。_ - {{domxref("BroadcastChannel.name")}} - : 频道名称,返回 {{domxref("DOMString")}}。 -### 事件处理程序 +## 实例方法 -- {{domxref("BroadcastChannel.onmessage")}} - - - : 事件处理器,用于定义当该对象上触发了 [`message`](/zh-CN/docs/Web/API/BroadcastChannel/message_event) 事件时要执行的函数。 - -- {{domxref("BroadcastChannel.onmessageerror")}} - - : 事件处理器,用于定义当该对象上触发了类型为 {{domxref("MessageError")}} 的 {{domxref("MessageEvent")}} 事件时要执行的函数。当接收到一条无法反序列化的消息时会触发此事件。 - -## 方法 - -_该接口会从它的父级 {{domxref("EventTarget")}} 继承方法。_ +_该接口也从它的父接口 {{domxref("EventTarget")}} 继承方法。_ - {{domxref("BroadcastChannel.postMessage()")}} - : 向所有监听了相同频道的 `BroadcastChannel` 对象发送一条消息,消息内容可以是任意类型的数据。 - {{domxref("BroadcastChannel.close()")}} - - : 关闭频道对象,告诉它不要再接收新的消息,并允许它最终被垃圾回收。 + - : 关闭频道对象,指示它不会收到任何新消息,并允许它最终被垃圾回收。 ## 事件 -- [`message`](/zh-CN/docs/Web/API/BroadcastChannel/message_event) - - : 当频道收到一条消息时触发。 - 也可以使用 [`onmessage`](/zh-CN/docs/Web/API/BroadcastChannel/onmessage) 属性访问。 -- [`messageerror`](/zh-CN/docs/Web/API/BroadcastChannel/messageerror_event) - - : 当频道收到一条无法反序列化的消息时触发。 - 也可以使用 [`onmessageerror`](/zh-CN/docs/Web/API/BroadcastChannel/onmessageerror) 属性访问。 +_该接口也从它的父接口 {{domxref("EventTarget")}} 继承事件。_ + +- {{domxref("BroadcastChannel/message_event", "message")}} + - : 当频道收到一条消息时触发。也可以使用 `onmessage` 属性访问。 +- {{domxref("BroadcastChannel/messageerror_event", "messageerror")}} + - : 当频道收到一条无法反序列化的消息时触发。也可以使用 `onmessageerror` 属性访问。 ## 规范 @@ -59,4 +52,4 @@ _该接口会从它的父级 {{domxref("EventTarget")}} 继承方法。_ ## 参见 - 一种在不同浏览器上下文之间通信的重量级方案:{{domxref("ServiceWorker")}}。 -- [Broadcast Channel API overview](/zh-CN/docs/Web/API/Broadcast_Channel_API) +- [Broadcast Channel API 概述](/zh-CN/docs/Web/API/Broadcast_Channel_API) diff --git a/files/zh-cn/web/api/broadcastchannel/name/index.md b/files/zh-cn/web/api/broadcastchannel/name/index.md index 1f0d80d6751b32..760cf90c1a3a13 100644 --- a/files/zh-cn/web/api/broadcastchannel/name/index.md +++ b/files/zh-cn/web/api/broadcastchannel/name/index.md @@ -1,27 +1,25 @@ --- -title: BroadcastChannel.name +title: BroadcastChannel:name 属性 slug: Web/API/BroadcastChannel/name +l10n: + sourceCommit: 50a45d52fd9f45f1ca30b546af5920d0ccda82dc --- -{{APIRef("BroadCastChannel API")}} +{{APIRef("BroadCastChannel API")}} {{AvailableInWorkers}} -**`BroadcastChannel.name`** 是类型为 {{domxref("DOMString")}} 的只读属性,是频道的唯一标识。属性 name 是在创建时传入 {{domxref("BroadcastChannel.BroadCastChannel", "BroadcastChannel()")}} 构造函数的,所以是只读的。 +{{domxref("BroadcastChannel")}} 接口的 **`name`** 只读属性返回一个字符串,该字符串使用其名称唯一标识给定频道。此名称在创建时传递给 {{domxref("BroadcastChannel.BroadCastChannel", "BroadcastChannel()")}} 构造函数,因此是只读的。 -{{AvailableInWorkers}} +## 值 -## 语法 - -```plain -var str = channel.name; -``` +一个字符串。 ## 示例 ```js // 连接到指定频道 -var bc = new BroadcastChannel("test_channel"); +const bc = new BroadcastChannel("test_channel"); -// 其他操作 (如:postMessage, …) +// 其他操作(如:postMessage、……) // 在控制台打印频道名称 console.log(bc.name); // "test_channel"