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 translated content #23909

Merged
merged 2 commits into from
Oct 5, 2024
Merged
Show file tree
Hide file tree
Changes from all 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
16 changes: 8 additions & 8 deletions files/zh-cn/_redirects.txt
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@
/zh-CN/docs/DOM/window.btoa /zh-CN/docs/Web/API/Window/btoa
/zh-CN/docs/DOM/window.cancelAnimationFrame /zh-CN/docs/Web/API/Window/cancelAnimationFrame
/zh-CN/docs/DOM/window.clearImmediate /zh-CN/docs/Web/API/Window/clearImmediate
/zh-CN/docs/DOM/window.clearInterval /zh-CN/docs/Web/API/clearInterval
/zh-CN/docs/DOM/window.clearInterval /zh-CN/docs/Web/API/Window/clearInterval
/zh-CN/docs/DOM/window.close /zh-CN/docs/Web/API/Window/close
/zh-CN/docs/DOM/window.content /zh-CN/docs/Web/API/Window
/zh-CN/docs/DOM/window.document /zh-CN/docs/Web/API/Window/document
Expand Down Expand Up @@ -463,7 +463,7 @@
/zh-CN/docs/DOM/window.requestAnimationFrame /zh-CN/docs/Web/API/Window/requestAnimationFrame
/zh-CN/docs/DOM/window.scrollByPages /zh-CN/docs/Web/API/Window/scrollByPages
/zh-CN/docs/DOM/window.setImmediate /zh-CN/docs/Web/API/Window/setImmediate
/zh-CN/docs/DOM/window.setInterval /zh-CN/docs/Web/API/setInterval
/zh-CN/docs/DOM/window.setInterval /zh-CN/docs/Web/API/Window/setInterval
/zh-CN/docs/DOM/window.setTimeout /zh-CN/docs/Web/API/setTimeout
/zh-CN/docs/DOM/window.setTimeout12 /zh-CN/docs/Web/API/setTimeout
/zh-CN/docs/DOM/文件系统API的基本概念 /zh-CN/docs/Web/API/File_and_Directory_Entries_API/Introduction
Expand Down Expand Up @@ -1822,7 +1822,7 @@
/zh-CN/docs/Web/API/Window.btoa /zh-CN/docs/Web/API/Window/btoa
/zh-CN/docs/Web/API/Window.cancelAnimationFrame /zh-CN/docs/Web/API/Window/cancelAnimationFrame
/zh-CN/docs/Web/API/Window.clearImmediate /zh-CN/docs/Web/API/Window/clearImmediate
/zh-CN/docs/Web/API/Window.clearInterval /zh-CN/docs/Web/API/clearInterval
/zh-CN/docs/Web/API/Window.clearInterval /zh-CN/docs/Web/API/Window/clearInterval
/zh-CN/docs/Web/API/Window.close /zh-CN/docs/Web/API/Window/close
/zh-CN/docs/Web/API/Window.document /zh-CN/docs/Web/API/Window/document
/zh-CN/docs/Web/API/Window.find /zh-CN/docs/Web/API/Window/find
Expand Down Expand Up @@ -1862,12 +1862,11 @@
/zh-CN/docs/Web/API/Window.scrollY /zh-CN/docs/Web/API/Window/scrollY
/zh-CN/docs/Web/API/Window.self /zh-CN/docs/Web/API/Window/self
/zh-CN/docs/Web/API/Window.setImmediate /zh-CN/docs/Web/API/Window/setImmediate
/zh-CN/docs/Web/API/Window.setInterval /zh-CN/docs/Web/API/setInterval
/zh-CN/docs/Web/API/Window.setInterval /zh-CN/docs/Web/API/Window/setInterval
/zh-CN/docs/Web/API/Window.showModalDialog /zh-CN/docs/Web/API/Window/showModalDialog
/zh-CN/docs/Web/API/Window.top /zh-CN/docs/Web/API/Window/top
/zh-CN/docs/Web/API/Window/DOMContentLoaded_event /zh-CN/docs/Web/API/Document/DOMContentLoaded_event
/zh-CN/docs/Web/API/Window/Window.blur() /zh-CN/docs/Web/API/Window/blur
/zh-CN/docs/Web/API/Window/clearInterval /zh-CN/docs/Web/API/clearInterval
/zh-CN/docs/Web/API/Window/content /zh-CN/docs/Web/API/Window
/zh-CN/docs/Web/API/Window/minimize /zh-CN/docs/Web/API/Window
/zh-CN/docs/Web/API/Window/mozPaintCount /zh-CN/docs/Web/API/Window
Expand All @@ -1884,7 +1883,6 @@
/zh-CN/docs/Web/API/Window/openDialog /zh-CN/docs/Web/API/Window
/zh-CN/docs/Web/API/Window/pageXOffset /zh-CN/docs/Web/API/Window/scrollX
/zh-CN/docs/Web/API/Window/pageYOffset /zh-CN/docs/Web/API/Window/scrollY
/zh-CN/docs/Web/API/Window/setInterval /zh-CN/docs/Web/API/setInterval
/zh-CN/docs/Web/API/Window/setTimeout /zh-CN/docs/Web/API/setTimeout
/zh-CN/docs/Web/API/WindowBase64/Base64_encoding_and_decoding /zh-CN/docs/Glossary/Base64
/zh-CN/docs/Web/API/WindowBase64/atob /zh-CN/docs/Web/API/Window/atob
Expand All @@ -1901,7 +1899,7 @@
/zh-CN/docs/Web/API/WindowOrWorkerGlobalScope/atob /zh-CN/docs/Web/API/Window/atob
/zh-CN/docs/Web/API/WindowOrWorkerGlobalScope/btoa /zh-CN/docs/Web/API/Window/btoa
/zh-CN/docs/Web/API/WindowOrWorkerGlobalScope/caches /zh-CN/docs/Web/API/Window/caches
/zh-CN/docs/Web/API/WindowOrWorkerGlobalScope/clearInterval /zh-CN/docs/Web/API/clearInterval
/zh-CN/docs/Web/API/WindowOrWorkerGlobalScope/clearInterval /zh-CN/docs/Web/API/Window/clearInterval
/zh-CN/docs/Web/API/WindowOrWorkerGlobalScope/clearTimeout /zh-CN/docs/Web/API/clearTimeout
/zh-CN/docs/Web/API/WindowOrWorkerGlobalScope/createImageBitmap /zh-CN/docs/Web/API/Window/createImageBitmap
/zh-CN/docs/Web/API/WindowOrWorkerGlobalScope/crossOriginIsolated /zh-CN/docs/Web/API/Window/crossOriginIsolated
Expand All @@ -1910,7 +1908,7 @@
/zh-CN/docs/Web/API/WindowOrWorkerGlobalScope/isSecureContext /zh-CN/docs/Web/API/Window/isSecureContext
/zh-CN/docs/Web/API/WindowOrWorkerGlobalScope/origin /zh-CN/docs/Web/API/Window/origin
/zh-CN/docs/Web/API/WindowOrWorkerGlobalScope/queueMicrotask /zh-CN/docs/Web/API/Window/queueMicrotask
/zh-CN/docs/Web/API/WindowOrWorkerGlobalScope/setInterval /zh-CN/docs/Web/API/setInterval
/zh-CN/docs/Web/API/WindowOrWorkerGlobalScope/setInterval /zh-CN/docs/Web/API/Window/setInterval
/zh-CN/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout /zh-CN/docs/Web/API/setTimeout
/zh-CN/docs/Web/API/WindowTimers/clearTimeout /zh-CN/docs/Web/API/clearTimeout
/zh-CN/docs/Web/API/Worker/onmessage /zh-CN/docs/Web/API/Worker/message_event
Expand All @@ -1933,6 +1931,7 @@
/zh-CN/docs/Web/API/atob /zh-CN/docs/Web/API/Window/atob
/zh-CN/docs/Web/API/btoa /zh-CN/docs/Web/API/Window/btoa
/zh-CN/docs/Web/API/caches /zh-CN/docs/Web/API/Window/caches
/zh-CN/docs/Web/API/clearInterval /zh-CN/docs/Web/API/Window/clearInterval
/zh-CN/docs/Web/API/console.dir /zh-CN/docs/Web/API/console/dir_static
/zh-CN/docs/Web/API/console.group /zh-CN/docs/Web/API/console/group_static
/zh-CN/docs/Web/API/console.groupCollapsed /zh-CN/docs/Web/API/console/groupCollapsed_static
Expand Down Expand Up @@ -2039,6 +2038,7 @@
/zh-CN/docs/Web/API/range.getBoundingClientRect /zh-CN/docs/Web/API/Range/getBoundingClientRect
/zh-CN/docs/Web/API/range.startOffset /zh-CN/docs/Web/API/Range/startOffset
/zh-CN/docs/Web/API/range.surroundContents /zh-CN/docs/Web/API/Range/surroundContents
/zh-CN/docs/Web/API/setInterval /zh-CN/docs/Web/API/Window/setInterval
/zh-CN/docs/Web/API/structuredClone /zh-CN/docs/Web/API/Window/structuredClone
/zh-CN/docs/Web/API/window.requestAnimationFrame /zh-CN/docs/Web/API/Window/requestAnimationFrame
/zh-CN/docs/Web/API/剪贴板_API /zh-CN/docs/Web/API/Clipboard_API
Expand Down
62 changes: 31 additions & 31 deletions files/zh-cn/_wikihistory.json
Original file line number Diff line number Diff line change
Expand Up @@ -15153,6 +15153,17 @@
"modified": "2019-03-23T23:32:55.452Z",
"contributors": ["teoli", "AshfaqHossain", "ziyunfei", "movinghorse"]
},
"Web/API/Window/clearInterval": {
"modified": "2020-10-15T21:21:33.193Z",
"contributors": [
"RainCruise",
"RainSlide",
"luojia",
"teoli",
"khalid32",
"ziyunfei"
]
},
"Web/API/Window/close": {
"modified": "2020-10-15T21:06:33.538Z",
"contributors": [
Expand Down Expand Up @@ -15726,6 +15737,26 @@
"ziyunfei"
]
},
"Web/API/Window/setInterval": {
"modified": "2020-11-25T18:16:55.949Z",
"contributors": [
"RayTang-hub",
"cellinlab",
"Jiangmenghao",
"TXYjing",
"Soul",
"fengbin",
"RainSlide",
"brandonhyc",
"xgqfrms-GitHub",
"shery",
"xgqfrms",
"teoli",
"khalid32",
"ziyunfei",
"sonicview"
]
},
"Web/API/Window/showModalDialog": {
"modified": "2019-07-21T23:38:59.262Z",
"contributors": ["fanyue", "SphinxKnight", "teoli", "ziyunfei", "c_king"]
Expand Down Expand Up @@ -16119,17 +16150,6 @@
"modified": "2020-10-15T22:15:17.137Z",
"contributors": ["CarmeloXue", "Sebastianz"]
},
"Web/API/clearInterval": {
"modified": "2020-10-15T21:21:33.193Z",
"contributors": [
"RainCruise",
"RainSlide",
"luojia",
"teoli",
"khalid32",
"ziyunfei"
]
},
"Web/API/clearTimeout": {
"modified": "2020-06-09T04:49:33.480Z",
"contributors": ["Humilitas", "zhangchen", "luojia", "paddingme"]
Expand Down Expand Up @@ -16284,26 +16304,6 @@
"Hawkeyes_Wind"
]
},
"Web/API/setInterval": {
"modified": "2020-11-25T18:16:55.949Z",
"contributors": [
"RayTang-hub",
"cellinlab",
"Jiangmenghao",
"TXYjing",
"Soul",
"fengbin",
"RainSlide",
"brandonhyc",
"xgqfrms-GitHub",
"shery",
"xgqfrms",
"teoli",
"khalid32",
"ziyunfei",
"sonicview"
]
},
"Web/API/setTimeout": {
"modified": "2020-10-15T21:19:52.746Z",
"contributors": [
Expand Down
2 changes: 1 addition & 1 deletion files/zh-cn/games/anatomy/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ var tNow = window.performance.now();

一种常见的技术是以恒定的频率更新模拟,然后绘制尽可能多的(或尽可能少的)实际帧。更新方法可以继续循环,而不用考虑用户看到的内容。绘图方法可以查看最后的更新以及发生的时间。由于绘制知道何时表示,以及上次更新的模拟时间,它可以预测为用户绘制一个合理的框架。这是否比官方更新循环更频繁(甚至更不频繁)无关紧要。更新方法设置检查点,并且像系统允许的那样频繁地,渲染方法画出周围的时间。在 Web 标准中分离更新方法有很多种方法:

- 绘制 `requestAnimationFrame` 并更新 {{domxref("setInterval()")}} 或 {{domxref("setTimeout()")}}。
- `requestAnimationFrame()` 中绘制,并在 {{domxref("Window.setInterval", "setInterval()")}} 或 {{domxref("setTimeout()")}} 中更新

- 即使在未聚焦或最小化的情况下,使用处理器时间,也可能是主线程,并且可能是传统游戏循环的工件(但是很简单)。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,10 @@ drawLives();

## 用 requestAnimationFrame() 优化渲染

现在让我们处理一些与游戏机制无关,但与画面渲染相关的东西。和我们目前使用{{domxref("windowTimers.setInterval()", "setInterval()")}} 实现的固定帧率渲染相比,{{domxref("window.requestAnimationFrame", "requestAnimationFrame")}} 能让浏览器更好地渲染画面。让我们把下面这行代码:
现在让我们处理一些与游戏机制无关,但与画面渲染相关的东西。和我们目前使用 {{domxref("Window.setInterval", "setInterval()")}} 实现的固定帧率渲染相比,{{domxref("Window.requestAnimationFrame", "requestAnimationFrame()")}} 能让浏览器更好地渲染画面。让我们把下面这行代码:

```js
var interval = setInterval(draw, 10);
interval = setInterval(draw, 10);
```

替换为:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ slug: Games/Tutorials/2D_Breakout_game_pure_JavaScript/Move_the_ball

从上一节中你已经知道如何去绘制一个球。现在让我们使它动起来。从技术上讲,我们将在画布上绘制一个球,之后让它消失,然后在一个稍微不用的位置上再绘制一个一样的球。就想电影里的每一帧动起来的感觉。

我们需要定义一个绘图函数,每次使用一组不同的变量改变球体的位置;循环调用以保持画布上每一帧不断更新。你可以使用 JavaScript 时间函数 {{domxref("WindowTimers.setInterval()", "setInterval()")}} 或者 {{domxref("window.requestAnimationFrame()")}}。
我们需要定义一个绘图函数,每次使用一组不同的变量改变球体的位置;循环调用以保持画布上每一帧不断更新。你可以使用 JavaScript 时间函数 {{domxref("Window.setInterval", "setInterval()")}} 或者 {{domxref("Window.requestAnimationFrame", "requestAnimationFrame()")}}。

在你的 HTML 文件只保留前两行,删除其他所有的 JavaScript 代码并在 draw() 函数中添加以下内容保证每 10 毫秒执行一次 draw() 函数:

Expand Down
18 changes: 9 additions & 9 deletions files/zh-cn/learn/accessibility/wai-aria_basics/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ slug: Learn/Accessibility/WAI-ARIA_basics

紧接上文继续,有时候,我们制作涉及非语义 HTML 和动态的 JavaScript 内容更新的复杂 UI 控件可能很困难。**WAI-ARIA** 是一项技术,它可以通过浏览器和一些辅助技术来帮助我们进一步地识别以及实现语义化,这样一来能帮助我们解决问题,也让用户可以了解发生了什么。接下来我们将展示如何运用它来优化无障碍体验:

<table class="learn-box standard-table">
<table>
<tbody>
<tr>
<th scope="row">前提要求:</th>
Expand Down Expand Up @@ -36,7 +36,7 @@ slug: Learn/Accessibility/WAI-ARIA_basics

当 Web 应用开始变得越来越复杂和动态化,一堆全新的无障碍访问问题和特性接踵而至。

例如,HTML5 提出了几种语义化标签用于定义常规页面的特性 (例如 nav, footer 等等) 。在这些标签可用之前,我们一般简单地用 div 带上 ID 抑或是 class 来解决问题,例如:`<div class="nav">`。但是这种实践是问题丛生的,因为没有简单的方法可以轻松地用可编程的方法找到特定页面功能,例如主导航。
例如,HTML5 提出了几种语义化标签用于定义常规页面的特性例如 navfooter 等等。在这些标签可用之前,我们一般简单地用 div 带上 ID 抑或是 class 来解决问题,例如:`<div class="nav">`。但是这种实践是问题丛生的,因为没有简单的方法可以轻松地用可编程的方法找到特定页面功能,例如主导航。

最早的解决方案是加一个或者多个隐藏的链接来跳转到我们想要的位置,例如(这里用导航举例):

Expand Down Expand Up @@ -214,20 +214,20 @@ WAI-ARIA 给浏览器增加了 [`role`](https://www.w3.org/TR/wai-aria-1.1/#role
</section>
```

我们的 JavaScript 从 [`XMLHttpRequest`](/zh-CN/docs/Web/API/XMLHttpRequest) 加载一个 JSON 文件里头包含了一系列的名人名言,一旦完成我们就开始用一个 [`setInterval()`](/zh-CN/docs/Web/API/WindowTimers/setInterval) 循环以十秒一次的频率显示出来。
我们的 JavaScript 使用 {{domxref("Window.fetch", "fetch()")}} API 加载一个 JSON 文件(里头包含了一系列的名人名言),一旦完成我们就开始用一个 {{domxref("Window.setInterval", "setInterval()")}} 循环以十秒一次的频率显示出来。

```js
var intervalID = window.setInterval(showQuote, 10000);
const intervalID = setInterval(showQuote, 10000);
```

这当然是可行的,但是对于无障碍可不友善——这种内容变化是不会被屏幕阅读器察觉到的,所以用户不会发现发生了什么。这是一个简单的例子,但你可以想象一下:如果你开发的一个复杂 UI 而且内容频繁变化的应用,例如聊天室,或者一个策略游戏的界面,或者一个实时更新的购物车展示。如果没有某种方式提示用户有内容更新,那就不可能以任何有效的方式来使用应用。

幸运的是,WAI-ARIA 提供了一种有效的机制来发起提示——[`aria-live`](https://www.w3.org/TR/wai-aria-1.1/#aria-live)。将此应用于元素会让屏幕阅读器读出更新的内容。读取内容的紧急程度取决于属性值:

- `off`: 默认值,更新不会提醒。
- `polite`: 只有用户空闲的情况下提醒。
- `assertive`: 尽快提醒。
- `rude`: 会以打断用户操作的方式直接提醒。
- `off`默认值,更新不会提醒。
- `polite`只有用户空闲的情况下提醒。
- `assertive`尽快提醒。
- `rude`会以打断用户操作的方式直接提醒。

通常来说 `assertive` 设置足以让你的更新在显示时按时序读出,因此,如果改变多次,那么他只会念出最后一个改变。除非紧急程度高到需要覆盖其他的更新才选择使用 `rude` 。

Expand Down Expand Up @@ -333,7 +333,7 @@ var intervalID = window.setInterval(showQuote, 10000);

```js
function toggleMusician(bool) {
var instruItem = formItems[formItems.length - 1];
const instruItem = formItems[formItems.length - 1];
if (bool) {
instruItem.input.disabled = false;
instruItem.label.style.color = "#000";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,7 @@ button:before {
1. 我们清除在快进功能上设置的所有类和时间间隔。这样做是因为如果我们在按下 `fwd`(快进)按钮后再按下 `rwd`(快退)按钮,就可以取消任何快进的功能并将其替换为快退功能。如果我们试图同时做到这两点,播放器就会暂停。
2. 使用 `if` 语句检查是否已在 `rwd` 按钮上设置了用来指示它已被按下的 `active` 类。{{domxref("classList")}} 是一个存在于每个元素上的非常方便的属性。它包含元素上设置的所有类的列表,以及添加/删除类的方法等。使用 `classList.contains()` 方法检查列表是否包含 `active` 类,将返回布尔值 `true`/`false` 结果。
3. 如果在 `rwd` 按钮上设置了 `active`,我们将使用 `classList.remove()` 删除它,清除第一次按下按钮时设置的时间间隔(参见下面的更多解释),并调用 {{domxref("HTMLMediaElement.play()")}} 取消快退并开始正常播放视频。
4. 如果尚未设置,使用 `classList.add()` 将 `active` 类添加到 `rwd` 按钮,调用 {{domxref("HTMLMediaElement.pause()")}} 暂停视频,然后设置 `intervalRwd` 变量为 {{domxref("setInterval()")}} 的调用结果。调用时,`setInterval()` 会创建一个时间间隔。这意味着它每隔 x 毫秒运行一个作为第一个参数给出的函数,其中 x 是第二个参数的值。所以这里我们每 200 毫秒运行一次 `windBackward()` 函数——我们将使用此函数不断快退视频。要停止 {{domxref("setInterval()")}} 运行,你必须调用 {{domxref("clearInterval()")}},并给出要清除的时间间隔的标识名,在本例中是变量名称 `intervalRwd`(请参阅函数中较早的一个 `clearInterval()` 调用)。
4. 如果尚未设置,使用 `classList.add()` 将 `active` 类添加到 `rwd` 按钮,调用 {{domxref("HTMLMediaElement.pause()")}} 暂停视频,然后设置 `intervalRwd` 变量为 {{domxref("Window.setInterval", "setInterval()")}} 的调用结果。调用时,`setInterval()` 会创建一个时间间隔。这意味着它每隔 x 毫秒运行一个作为第一个参数给出的函数,其中 x 是第二个参数的值。所以这里我们每 200 毫秒运行一次 `windBackward()` 函数——我们将使用此函数不断快退视频。要停止 {{domxref("Window.setInterval", "setInterval()")}} 运行,你必须调用 {{domxref("Window.clearInterval", "clearInterval()")}},并给出要清除的时间间隔的标识名,在本例中是变量名称 `intervalRwd`(请参阅函数中较早的一个 `clearInterval()` 调用)。

3. 最后,对于本节,定义在 `setInterval()` 调用中需要调用的 `windBackward()` 和 `windForward()` 函数。在以上两个函数下面添加以下内容:

Expand Down
2 changes: 1 addition & 1 deletion files/zh-cn/learn/performance/javascript/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ async function main() {

对于关键的 DOM 动画,建议尽可能使用 [CSS 动画](/zh-CN/docs/Web/CSS/CSS_animations/Using_CSS_animations),而不是 JavaScript 动画([Web 动画 API](/zh-CN/docs/Web/API/Web_Animations_API) 提供了一种通过 JavaScript 直接连接到 CSS 动画的方式)。直接使用浏览器执行 DOM 动画而不是使用 JavaScript 操纵内联样式表的效率更高。另请参阅 [CSS 性能优化 > 处理动画](/zh-CN/docs/Learn/Performance/CSS#处理动画)。

对于无法在 JavaScript 中处理的动画,例如在 HTML {{htmlelement("canvas")}} 上创建动画,建议使用 {{domxref("Window.requestAnimationFrame()")}} 而不是旧的选项,例如 {{domxref("setInterval()")}}。`requestAnimationFrame()` 方法专门设计用于高效、一致地处理动画帧,以获得流畅的用户体验。基本模式如下所示:
对于无法在 JavaScript 中处理的动画,例如在 HTML {{htmlelement("canvas")}} 上创建动画,建议使用 {{domxref("Window.requestAnimationFrame()")}} 而不是旧的选项,例如 {{domxref("Window.setInterval()")}}。`requestAnimationFrame()` 方法专门设计用于高效、一致地处理动画帧,以获得流畅的用户体验。基本模式如下所示:

```js
function loop() {
Expand Down
Loading