From 978271d2338352ae09cd72214ca97252f1da3796 Mon Sep 17 00:00:00 2001 From: "Dr.XYZ" <121708493+Dr-XYZ@users.noreply.github.com> Date: Wed, 18 Dec 2024 20:40:31 +0800 Subject: [PATCH 01/20] [zh-TW]: create `Math.LN10` (#25023) --- .../global_objects/math/ln10/index.md | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 files/zh-tw/web/javascript/reference/global_objects/math/ln10/index.md diff --git a/files/zh-tw/web/javascript/reference/global_objects/math/ln10/index.md b/files/zh-tw/web/javascript/reference/global_objects/math/ln10/index.md new file mode 100644 index 00000000000000..a893d9c69c0590 --- /dev/null +++ b/files/zh-tw/web/javascript/reference/global_objects/math/ln10/index.md @@ -0,0 +1,52 @@ +--- +title: Math.LN10 +slug: Web/JavaScript/Reference/Global_Objects/Math/LN10 +l10n: + sourceCommit: 2ec170b6264d51a15be498ac99b8a30b3dadec15 +--- + +{{JSRef}} + +**`Math.LN10`** 靜態數據屬性表示 10 的自然對數值,約為 2.303。 + +{{EmbedInteractiveExample("pages/js/math-ln10.html", "shorter")}} + +## 值 + + + 𝙼𝚊𝚝𝚑.𝙻𝙽𝟷𝟶=ln(10)2.303\mathtt{Math.LN10} = \ln(10) \approx 2.303 + + +{{js_property_attributes(0, 0, 0)}} + +## 描述 + +由於 `LN10` 是 `Math` 的靜態屬性,因此你應始終以 `Math.LN10` 的方式使用,而非作為某個 `Math` 物件的屬性(`Math` 並不是建構子)。 + +## 範例 + +### 使用 Math.LN10 + +以下函式返回 10 的自然對數值: + +```js +function getNatLog10() { + return Math.LN10; +} + +getNatLog10(); // 2.302585092994046 +``` + +## 規範 + +{{Specifications}} + +## 瀏覽器相容性 + +{{Compat}} + +## 參見 + +- {{jsxref("Math.exp()")}} +- {{jsxref("Math.log()")}} +- {{jsxref("Math.log10()")}} From 22a497c8055e6d60e4e837c25003a0f8678f2b99 Mon Sep 17 00:00:00 2001 From: "Dr.XYZ" <121708493+Dr-XYZ@users.noreply.github.com> Date: Wed, 18 Dec 2024 20:40:55 +0800 Subject: [PATCH 02/20] [zh-TW]: create `LOG2E` (#25021) --- .../global_objects/math/log2e/index.md | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 files/zh-tw/web/javascript/reference/global_objects/math/log2e/index.md diff --git a/files/zh-tw/web/javascript/reference/global_objects/math/log2e/index.md b/files/zh-tw/web/javascript/reference/global_objects/math/log2e/index.md new file mode 100644 index 00000000000000..b76c6b5547107a --- /dev/null +++ b/files/zh-tw/web/javascript/reference/global_objects/math/log2e/index.md @@ -0,0 +1,52 @@ +--- +title: Math.LOG2E +slug: Web/JavaScript/Reference/Global_Objects/Math/LOG2E +l10n: + sourceCommit: 2ec170b6264d51a15be498ac99b8a30b3dadec15 +--- + +{{JSRef}} + +**`Math.LOG2E`** 靜態數據屬性表示 [e](/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Math/E) 以 2 為底的對數值,約為 1.443。 + +{{EmbedInteractiveExample("pages/js/math-log2e.html", "shorter")}} + +## 值 + + + 𝙼𝚊𝚝𝚑.𝙻𝙾𝙶𝟸𝙴=log2(e)1.443\mathtt{Math.LOG2E} = \log_2(\mathrm{e}) \approx 1.443 + + +{{js_property_attributes(0, 0, 0)}} + +## 描述 + +由於 `LOG2E` 是 `Math` 的靜態屬性,因此你應始終以 `Math.LOG2E` 的方式使用,而非作為某個 `Math` 物件的屬性(`Math` 並不是建構子)。 + +## 範例 + +### 使用 Math.LOG2E + +以下函式返回 e 以 2 為底的對數值: + +```js +function getLog2e() { + return Math.LOG2E; +} + +getLog2e(); // 1.4426950408889634 +``` + +## 規範 + +{{Specifications}} + +## 瀏覽器相容性 + +{{Compat}} + +## 參見 + +- {{jsxref("Math.exp()")}} +- {{jsxref("Math.log()")}} +- {{jsxref("Math.log2()")}} From 5a5f9c85e95a861b62f07b2ef41588598cc1c25b Mon Sep 17 00:00:00 2001 From: Hoarfroster Date: Wed, 18 Dec 2024 21:13:54 +0800 Subject: [PATCH 03/20] zh-CN: create `management.onDisabled()` (#24937) --- .../api/management/ondisabled/index.md | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 files/zh-cn/mozilla/add-ons/webextensions/api/management/ondisabled/index.md diff --git a/files/zh-cn/mozilla/add-ons/webextensions/api/management/ondisabled/index.md b/files/zh-cn/mozilla/add-ons/webextensions/api/management/ondisabled/index.md new file mode 100644 index 00000000000000..a721927b05fe83 --- /dev/null +++ b/files/zh-cn/mozilla/add-ons/webextensions/api/management/ondisabled/index.md @@ -0,0 +1,89 @@ +--- +title: management.onDisabled() +slug: Mozilla/Add-ons/WebExtensions/API/management/onDisabled +l10n: + sourceCommit: b8a0743ca8b1e1b1b1a95cc93a4413c020f11262 +--- + +{{AddonSidebar}} + +在附加组件被禁用时触发。 + +此 API 需要“management”[API 权限](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions)。 + +## 语法 + +```js-nolint +browser.management.onDisabled.addListener(listener) +browser.management.onDisabled.removeListener(listener) +browser.management.onDisabled.hasListener(listener) +``` + +事件有三个函数: + +- `addListener(listener)` + - : 为此事件添加监听器。 +- `removeListener(listener)` + - : 停止监听此事件。`listener` 参数是要移除的监听器。 +- `hasListener(listener)` + - : 检查是否已为此事件注册了 `listener`。如果正在监听,则返回 `true`,否则返回 `false`。 + +## addListener 语法 + +### 参数 + +- `listener` + + - : 在此事件发生时调用的函数。此函数接收以下参数: + + - `info` + - : [`ExtensionInfo`](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/API/management/ExtensionInfo),关于已安装的附加组件的信息。 + +## 浏览器兼容性 + +{{Compat}} + +## 示例 + +打印被禁用的附加组件的名称: + +```js +browser.management.onDisabled.addListener((info) => { + console.log(`${info.name} 被禁用`); +}); +``` + +{{WebExtExamples}} + +> [!NOTE] +> 该 API 基于 Chromium 的 [`chrome.management`](https://developer.chrome.google.cn/docs/extensions/reference/api/management#event-onDisabled) API。本文衍生自 Chromium 代码中的 [`management.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json)。 + + From b33b3c77acd2e6e0a587d4e1dd0067e1e92cbd24 Mon Sep 17 00:00:00 2001 From: Hoarfroster Date: Wed, 18 Dec 2024 21:21:06 +0800 Subject: [PATCH 04/20] zh-CN: create `management.install()` (#24938) Co-authored-by: A1lo --- .../api/management/install/index.md | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 files/zh-cn/mozilla/add-ons/webextensions/api/management/install/index.md diff --git a/files/zh-cn/mozilla/add-ons/webextensions/api/management/install/index.md b/files/zh-cn/mozilla/add-ons/webextensions/api/management/install/index.md new file mode 100644 index 00000000000000..e09c1c4b2952e7 --- /dev/null +++ b/files/zh-cn/mozilla/add-ons/webextensions/api/management/install/index.md @@ -0,0 +1,75 @@ +--- +title: management.install() +slug: Mozilla/Add-ons/WebExtensions/API/management/install +l10n: + sourceCommit: d7143e171b5f18fb37a686a7d4947db417fd74f3 +--- + +{{AddonSidebar}} + +安装并启用来自给定 URL 的主题扩展。 + +此 API 需要“management”[API 权限](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions),并且仅适用于已签名的主题。 + +这是一个返回 [`Promise`](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise) 的异步函数。 + +## 语法 + +```js-nolint +browser.management.install(options) +``` + +### 参数 + +- options + - : 包含 [addons.mozilla.org](https://addons.mozilla.org) 上的主题 XPI 文件的 URL 和可选的 XPI 文件散列值(使用 sha256 或更强的散列算法)的对象。 + +### 返回值 + +[Promise](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise),会兑现为包含对应主题在其 manifest.json 中定义的 `ExtensionID` 的对象。 + +## 浏览器兼容性 + +{{Compat}} + +## 示例 + +遍历一系列的主题: + +```js +"use strict"; + +const themes = [ + "https://addons.mozilla.org/zh-CN/firefox/downloads/file/1063216/insightscare-1.0-fx.xpi", + "https://addons.mozilla.org/zh-CN/firefox/downloads/file/1063419/orange_roses-1.0-fx.xpi", + "https://addons.mozilla.org/zh-CN/firefox/downloads/file/1062647/sticktoyourguns-2.0-fx.xpi", + "https://addons.mozilla.org/zh-CN/firefox/downloads/file/0/bad_url.xpi", +]; + +let current; + +async function install(url) { + try { + current = url; + const { id } = await browser.management.install({ url }); + console.log(`安装了主题:${id}`); + } catch (e) { + console.error(`主题安装失败:${e}`); + } +} + +browser.browserAction.onClicked.addListener(() => { + const id = themes.indexOf(current); + install(themes[(id + 1) % themes.length]); +}); + +for (const url of themes) { + browser.menus.create({ + title: url, + onclick: () => install(url), + contexts: ["browser_action"], + }); +} +``` + +{{WebExtExamples}} From 472fb4675df8ec2c294c198e6a085009970143ea Mon Sep 17 00:00:00 2001 From: mdn-bot <108879845+mdn-bot@users.noreply.github.com> Date: Wed, 18 Dec 2024 00:35:38 +0000 Subject: [PATCH 05/20] ja: auto-fix Markdownlint issues --- files/ja/web/api/audiocontext/createmediastreamsource/index.md | 2 +- files/ja/web/api/document/domain/index.md | 2 +- files/ja/web/api/document/fgcolor/index.md | 2 +- files/ja/web/api/document/fragmentdirective/index.md | 2 +- files/ja/web/api/documentfragment/queryselector/index.md | 2 +- files/ja/web/api/element/closest/index.md | 2 +- files/ja/web/api/element/keydown_event/index.md | 2 +- files/ja/web/api/element/keypress_event/index.md | 2 +- files/ja/web/api/element/keyup_event/index.md | 2 +- files/ja/web/api/element/matches/index.md | 2 +- files/ja/web/api/element/queryselector/index.md | 2 +- files/ja/web/api/element/queryselectorall/index.md | 2 +- files/ja/web/api/event/currenttarget/index.md | 2 +- files/ja/web/api/event/explicitoriginaltarget/index.md | 2 +- files/ja/web/api/event/originaltarget/index.md | 2 +- files/ja/web/api/event/target/index.md | 2 +- files/ja/web/api/formdataevent/formdata/index.md | 2 +- files/ja/web/api/htmlcanvaselement/todataurl/index.md | 2 +- files/ja/web/api/idbdatabase/objectstorenames/index.md | 2 +- files/ja/web/api/inputevent/data/index.md | 2 +- files/ja/web/api/inputevent/datatransfer/index.md | 2 +- files/ja/web/api/inputevent/gettargetranges/index.md | 2 +- files/ja/web/api/inputevent/inputtype/index.md | 2 +- files/ja/web/api/mouseevent/relatedtarget/index.md | 2 +- files/ja/web/api/ndefreader/write/index.md | 2 +- files/ja/web/api/ndefrecord/ndefrecord/index.md | 2 +- files/ja/web/api/sharedworker/sharedworker/index.md | 2 +- files/ja/web/api/subtlecrypto/importkey/index.md | 2 +- files/ja/web/api/websocket/websocket/index.md | 2 +- files/ja/web/api/window/atob/index.md | 2 +- files/ja/web/api/window/btoa/index.md | 2 +- files/ja/web/api/workerglobalscope/atob/index.md | 2 +- files/ja/web/api/workerglobalscope/btoa/index.md | 2 +- files/ja/web/api/workerglobalscope/importscripts/index.md | 2 +- files/ja/web/api/xmlhttprequest/responsetype/index.md | 2 +- files/ja/web/api/xmlhttprequest/responsexml/index.md | 2 +- 36 files changed, 36 insertions(+), 36 deletions(-) diff --git a/files/ja/web/api/audiocontext/createmediastreamsource/index.md b/files/ja/web/api/audiocontext/createmediastreamsource/index.md index 44b9d3ac08d030..6fa886d0283898 100644 --- a/files/ja/web/api/audiocontext/createmediastreamsource/index.md +++ b/files/ja/web/api/audiocontext/createmediastreamsource/index.md @@ -1,9 +1,9 @@ --- title: "AudioContext: createMediaStreamSource() メソッド" +short-title: createMediaStreamSource() slug: Web/API/AudioContext/createMediaStreamSource l10n: sourceCommit: 135b8311a5e3d12789e8421845be3ce026ef72b8 -short-title: createMediaStreamSource() --- {{ APIRef("Web Audio API") }} diff --git a/files/ja/web/api/document/domain/index.md b/files/ja/web/api/document/domain/index.md index 8bd21376cf47f3..50081fc0f9e44a 100644 --- a/files/ja/web/api/document/domain/index.md +++ b/files/ja/web/api/document/domain/index.md @@ -1,9 +1,9 @@ --- title: "Document: domain プロパティ" +short-title: domain slug: Web/API/Document/domain l10n: sourceCommit: 3fd9ed857a7d87a5ecc539a9835dbd107178bb6c -short-title: domain --- {{ApiRef}} {{Deprecated_Header}} diff --git a/files/ja/web/api/document/fgcolor/index.md b/files/ja/web/api/document/fgcolor/index.md index f8116b0c1f8556..b177589a9839e2 100644 --- a/files/ja/web/api/document/fgcolor/index.md +++ b/files/ja/web/api/document/fgcolor/index.md @@ -1,9 +1,9 @@ --- title: "Document: fgColor プロパティ" +short-title: fgColor slug: Web/API/Document/fgColor l10n: sourceCommit: 41a8b9c9832359d445d136b6d7a8a28737badc6b -short-title: fgColor --- {{ApiRef}}{{Deprecated_header}} diff --git a/files/ja/web/api/document/fragmentdirective/index.md b/files/ja/web/api/document/fragmentdirective/index.md index 80e5056a05879b..3b4cac7cf11396 100644 --- a/files/ja/web/api/document/fragmentdirective/index.md +++ b/files/ja/web/api/document/fragmentdirective/index.md @@ -1,9 +1,9 @@ --- title: "Document: fragmentDirective プロパティ" +short-title: fragmentDirective slug: Web/API/Document/fragmentDirective l10n: sourceCommit: 9aaaa8597f2b1b952a9ed116cbe48e4810254cea -short-title: fragmentDirective --- {{APIRef}}{{SeeCompatTable}} diff --git a/files/ja/web/api/documentfragment/queryselector/index.md b/files/ja/web/api/documentfragment/queryselector/index.md index d71a5ba7dac06e..b729e78f61163e 100644 --- a/files/ja/web/api/documentfragment/queryselector/index.md +++ b/files/ja/web/api/documentfragment/queryselector/index.md @@ -1,9 +1,9 @@ --- title: "DocumentFragment: querySelector() メソッド" +short-title: querySelector() slug: Web/API/DocumentFragment/querySelector l10n: sourceCommit: 41a8b9c9832359d445d136b6d7a8a28737badc6b -short-title: querySelector() --- {{ApiRef("DOM")}} diff --git a/files/ja/web/api/element/closest/index.md b/files/ja/web/api/element/closest/index.md index a082fc4ae1d017..e3397eb0c41394 100644 --- a/files/ja/web/api/element/closest/index.md +++ b/files/ja/web/api/element/closest/index.md @@ -1,9 +1,9 @@ --- title: "Element: closest() メソッド" +short-title: closest() slug: Web/API/Element/closest l10n: sourceCommit: dac3299ae197f40fcf3369f6f58d49e00538bb1e -short-title: closest() --- {{APIRef('DOM')}} diff --git a/files/ja/web/api/element/keydown_event/index.md b/files/ja/web/api/element/keydown_event/index.md index 656e62a1c80158..45af9783df9951 100644 --- a/files/ja/web/api/element/keydown_event/index.md +++ b/files/ja/web/api/element/keydown_event/index.md @@ -1,9 +1,9 @@ --- title: "Element: keydown イベント" +short-title: keydown slug: Web/API/Element/keydown_event l10n: sourceCommit: bbf7f25f9cf95fb154e2740a9fdc9c02818981bf -short-title: keydown --- {{APIRef}} diff --git a/files/ja/web/api/element/keypress_event/index.md b/files/ja/web/api/element/keypress_event/index.md index 2172c0d539904e..be18eb052622f4 100644 --- a/files/ja/web/api/element/keypress_event/index.md +++ b/files/ja/web/api/element/keypress_event/index.md @@ -1,9 +1,9 @@ --- title: "Element: keypress イベント" +short-title: keypress slug: Web/API/Element/keypress_event l10n: sourceCommit: bbf7f25f9cf95fb154e2740a9fdc9c02818981bf -short-title: keypress --- {{APIRef}} {{deprecated_header}} diff --git a/files/ja/web/api/element/keyup_event/index.md b/files/ja/web/api/element/keyup_event/index.md index 263e654040d082..02fb222247f34e 100644 --- a/files/ja/web/api/element/keyup_event/index.md +++ b/files/ja/web/api/element/keyup_event/index.md @@ -1,9 +1,9 @@ --- title: "Element: keyup イベント" +short-title: keyup slug: Web/API/Element/keyup_event l10n: sourceCommit: bbf7f25f9cf95fb154e2740a9fdc9c02818981bf -short-title: keyup --- {{APIRef}} diff --git a/files/ja/web/api/element/matches/index.md b/files/ja/web/api/element/matches/index.md index a453a1696d7fcc..c56f63e53f127e 100644 --- a/files/ja/web/api/element/matches/index.md +++ b/files/ja/web/api/element/matches/index.md @@ -1,9 +1,9 @@ --- title: "Element: matches() メソッド" +short-title: matches() slug: Web/API/Element/matches l10n: sourceCommit: dac3299ae197f40fcf3369f6f58d49e00538bb1e -short-title: matches() --- {{APIRef("DOM")}} diff --git a/files/ja/web/api/element/queryselector/index.md b/files/ja/web/api/element/queryselector/index.md index 7add4d76884279..f83225353d5117 100644 --- a/files/ja/web/api/element/queryselector/index.md +++ b/files/ja/web/api/element/queryselector/index.md @@ -1,9 +1,9 @@ --- title: "Element: querySelector() メソッド" +short-title: querySelector() slug: Web/API/Element/querySelector l10n: sourceCommit: acfe8c9f1f4145f77653a2bc64a9744b001358dc -short-title: querySelector() --- {{APIRef("DOM")}} diff --git a/files/ja/web/api/element/queryselectorall/index.md b/files/ja/web/api/element/queryselectorall/index.md index b6ed3356edd5ba..117bde745f3261 100644 --- a/files/ja/web/api/element/queryselectorall/index.md +++ b/files/ja/web/api/element/queryselectorall/index.md @@ -1,9 +1,9 @@ --- title: "Element: querySelectorAll() メソッド" +short-title: querySelectorAll() slug: Web/API/Element/querySelectorAll l10n: sourceCommit: dac3299ae197f40fcf3369f6f58d49e00538bb1e -short-title: querySelectorAll() --- {{APIRef("DOM")}} diff --git a/files/ja/web/api/event/currenttarget/index.md b/files/ja/web/api/event/currenttarget/index.md index 3c9da126ba5df8..70e2fa439d36dc 100644 --- a/files/ja/web/api/event/currenttarget/index.md +++ b/files/ja/web/api/event/currenttarget/index.md @@ -1,9 +1,9 @@ --- title: "Event: currentTarget プロパティ" +short-title: currentTarget slug: Web/API/Event/currentTarget l10n: sourceCommit: 339595951b78774e951b1a9d215a6db6b856f6b2 -short-title: currentTarget --- {{APIRef("DOM")}} diff --git a/files/ja/web/api/event/explicitoriginaltarget/index.md b/files/ja/web/api/event/explicitoriginaltarget/index.md index 90832bbb5c7025..72a2bda8d9b62f 100644 --- a/files/ja/web/api/event/explicitoriginaltarget/index.md +++ b/files/ja/web/api/event/explicitoriginaltarget/index.md @@ -1,9 +1,9 @@ --- title: "Event: explicitOriginalTarget プロパティ" +short-title: explicitOriginalTarget slug: Web/API/Event/explicitOriginalTarget l10n: sourceCommit: 339595951b78774e951b1a9d215a6db6b856f6b2 -short-title: explicitOriginalTarget --- {{APIRef("DOM")}}{{Non-standard_Header}} diff --git a/files/ja/web/api/event/originaltarget/index.md b/files/ja/web/api/event/originaltarget/index.md index 7d983f3677afe3..26751c29ed3f21 100644 --- a/files/ja/web/api/event/originaltarget/index.md +++ b/files/ja/web/api/event/originaltarget/index.md @@ -1,9 +1,9 @@ --- title: "Event: originalTarget プロパティ" +short-title: originalTarget slug: Web/API/Event/originalTarget l10n: sourceCommit: 339595951b78774e951b1a9d215a6db6b856f6b2 -short-title: originalTarget --- {{ ApiRef("DOM") }} {{Non-standard_header}} diff --git a/files/ja/web/api/event/target/index.md b/files/ja/web/api/event/target/index.md index 0be16c2841996e..ce1fa938633462 100644 --- a/files/ja/web/api/event/target/index.md +++ b/files/ja/web/api/event/target/index.md @@ -1,9 +1,9 @@ --- title: "Event: target プロパティ" +short-title: target slug: Web/API/Event/target l10n: sourceCommit: 339595951b78774e951b1a9d215a6db6b856f6b2 -short-title: target --- {{ApiRef("DOM")}} diff --git a/files/ja/web/api/formdataevent/formdata/index.md b/files/ja/web/api/formdataevent/formdata/index.md index b9989f54ae5b31..f011c7dac94190 100644 --- a/files/ja/web/api/formdataevent/formdata/index.md +++ b/files/ja/web/api/formdataevent/formdata/index.md @@ -1,9 +1,9 @@ --- title: "FormDataEvent: formData プロパティ" +short-title: formData slug: Web/API/FormDataEvent/formData l10n: sourceCommit: 339595951b78774e951b1a9d215a6db6b856f6b2 -short-title: formData --- {{APIRef("DOM")}} diff --git a/files/ja/web/api/htmlcanvaselement/todataurl/index.md b/files/ja/web/api/htmlcanvaselement/todataurl/index.md index fe253070611893..3cc0f6ba90b8e4 100644 --- a/files/ja/web/api/htmlcanvaselement/todataurl/index.md +++ b/files/ja/web/api/htmlcanvaselement/todataurl/index.md @@ -1,9 +1,9 @@ --- title: "HTMLCanvasElement: toDataURL() メソッド" +short-title: toDataURL() slug: Web/API/HTMLCanvasElement/toDataURL l10n: sourceCommit: a3d9f61a8990ba7b53bda9748d1f26a9e9810b18 -short-title: toDataURL() --- {{APIRef("Canvas API")}} diff --git a/files/ja/web/api/idbdatabase/objectstorenames/index.md b/files/ja/web/api/idbdatabase/objectstorenames/index.md index 18b3b3d1d06acc..dfe942a957389a 100644 --- a/files/ja/web/api/idbdatabase/objectstorenames/index.md +++ b/files/ja/web/api/idbdatabase/objectstorenames/index.md @@ -1,9 +1,9 @@ --- title: "IDBDatabase: objectStoreNames プロパティ" +short-title: objectStoreNames slug: Web/API/IDBDatabase/objectStoreNames l10n: sourceCommit: 595cba0e07c70eda7f08a12890e00ea0281933d3 -short-title: objectStoreNames --- {{ APIRef("IndexedDB") }} diff --git a/files/ja/web/api/inputevent/data/index.md b/files/ja/web/api/inputevent/data/index.md index 630fbcf6a88438..4734e99fd8af8d 100644 --- a/files/ja/web/api/inputevent/data/index.md +++ b/files/ja/web/api/inputevent/data/index.md @@ -1,9 +1,9 @@ --- title: "InputEvent: data プロパティ" +short-title: data slug: Web/API/InputEvent/data l10n: sourceCommit: eab4066e72d5478de920e4020e5db71214dcffa6 -short-title: data --- {{APIRef("UI Events")}} diff --git a/files/ja/web/api/inputevent/datatransfer/index.md b/files/ja/web/api/inputevent/datatransfer/index.md index ed5f9efdd9f934..fab4c15f47fd30 100644 --- a/files/ja/web/api/inputevent/datatransfer/index.md +++ b/files/ja/web/api/inputevent/datatransfer/index.md @@ -1,9 +1,9 @@ --- title: "InputEvent: dataTransfer プロパティ" +short-title: dataTransfer slug: Web/API/InputEvent/dataTransfer l10n: sourceCommit: eab4066e72d5478de920e4020e5db71214dcffa6 -short-title: dataTransfer --- {{APIRef("UI Events")}} diff --git a/files/ja/web/api/inputevent/gettargetranges/index.md b/files/ja/web/api/inputevent/gettargetranges/index.md index 4f3190c327e5ff..673cbd0cec60c7 100644 --- a/files/ja/web/api/inputevent/gettargetranges/index.md +++ b/files/ja/web/api/inputevent/gettargetranges/index.md @@ -1,9 +1,9 @@ --- title: "InputEvent: getTargetRanges() メソッド" +short-title: getTargetRanges() slug: Web/API/InputEvent/getTargetRanges l10n: sourceCommit: eab4066e72d5478de920e4020e5db71214dcffa6 -short-title: getTargetRanges() --- {{APIRef("UI Events")}} diff --git a/files/ja/web/api/inputevent/inputtype/index.md b/files/ja/web/api/inputevent/inputtype/index.md index fd6dccdb8fb52a..264757eed0b01b 100644 --- a/files/ja/web/api/inputevent/inputtype/index.md +++ b/files/ja/web/api/inputevent/inputtype/index.md @@ -1,9 +1,9 @@ --- title: "InputEvent: inputType プロパティ" +short-title: inputType slug: Web/API/InputEvent/inputType l10n: sourceCommit: eab4066e72d5478de920e4020e5db71214dcffa6 -short-title: inputType --- {{APIRef("UI Events")}} diff --git a/files/ja/web/api/mouseevent/relatedtarget/index.md b/files/ja/web/api/mouseevent/relatedtarget/index.md index 81ef2cc4cd113e..1b388b857c7428 100644 --- a/files/ja/web/api/mouseevent/relatedtarget/index.md +++ b/files/ja/web/api/mouseevent/relatedtarget/index.md @@ -1,9 +1,9 @@ --- title: "MouseEvent: relatedTarget プロパティ" +short-title: relatedTarget slug: Web/API/MouseEvent/relatedTarget l10n: sourceCommit: ef75c1741b450c2331204be5563ee964ad5f4c48 -short-title: relatedTarget --- {{APIRef("UI Events")}} diff --git a/files/ja/web/api/ndefreader/write/index.md b/files/ja/web/api/ndefreader/write/index.md index dcc8c630c42f03..c6a28666abd3f5 100644 --- a/files/ja/web/api/ndefreader/write/index.md +++ b/files/ja/web/api/ndefreader/write/index.md @@ -1,9 +1,9 @@ --- title: "NDEFReader: write() メソッド" +short-title: write() slug: Web/API/NDEFReader/write l10n: sourceCommit: acfe8c9f1f4145f77653a2bc64a9744b001358dc -short-title: write() --- {{SecureContext_Header}}{{SeeCompatTable}}{{APIRef("Web NFC API")}} diff --git a/files/ja/web/api/ndefrecord/ndefrecord/index.md b/files/ja/web/api/ndefrecord/ndefrecord/index.md index ccb31fe976340a..f85f1a58408f29 100644 --- a/files/ja/web/api/ndefrecord/ndefrecord/index.md +++ b/files/ja/web/api/ndefrecord/ndefrecord/index.md @@ -1,9 +1,9 @@ --- title: "NDEFRecord: NDEFRecord() コンストラクター" +short-title: NDEFRecord() slug: Web/API/NDEFRecord/NDEFRecord l10n: sourceCommit: ef75c1741b450c2331204be5563ee964ad5f4c48 -short-title: NDEFRecord() --- {{SecureContext_Header}}{{SeeCompatTable}}{{APIRef("Web NFC API")}} diff --git a/files/ja/web/api/sharedworker/sharedworker/index.md b/files/ja/web/api/sharedworker/sharedworker/index.md index a3cb5b9194a879..09490b8677bc48 100644 --- a/files/ja/web/api/sharedworker/sharedworker/index.md +++ b/files/ja/web/api/sharedworker/sharedworker/index.md @@ -1,9 +1,9 @@ --- title: "SharedWorker: SharedWorker() コンストラクター" +short-title: SharedWorker() slug: Web/API/SharedWorker/SharedWorker l10n: sourceCommit: 37eb7ffd54eb2ad90bc8ada80d2c5e396670205c -short-title: SharedWorker() --- {{APIRef("Web Workers API")}} diff --git a/files/ja/web/api/subtlecrypto/importkey/index.md b/files/ja/web/api/subtlecrypto/importkey/index.md index 435557262216a0..ed72f1927378f2 100644 --- a/files/ja/web/api/subtlecrypto/importkey/index.md +++ b/files/ja/web/api/subtlecrypto/importkey/index.md @@ -1,9 +1,9 @@ --- title: "SubtleCrypto: importKey() メソッド" +short-title: importKey() slug: Web/API/SubtleCrypto/importKey l10n: sourceCommit: acfe8c9f1f4145f77653a2bc64a9744b001358dc -short-title: importKey() --- {{APIRef("Web Crypto API")}}{{SecureContext_header}} diff --git a/files/ja/web/api/websocket/websocket/index.md b/files/ja/web/api/websocket/websocket/index.md index 13446d44eb2428..b98fd67f0e5862 100644 --- a/files/ja/web/api/websocket/websocket/index.md +++ b/files/ja/web/api/websocket/websocket/index.md @@ -1,9 +1,9 @@ --- title: "WebSocket: WebSocket() コンストラクター" +short-title: WebSocket() slug: Web/API/WebSocket/WebSocket l10n: sourceCommit: eda49877b9078b24cd18f794470e5e225add9b94 -short-title: WebSocket() --- {{APIRef("Web Sockets API")}} diff --git a/files/ja/web/api/window/atob/index.md b/files/ja/web/api/window/atob/index.md index 982be8f88738ab..07907e278fddbc 100644 --- a/files/ja/web/api/window/atob/index.md +++ b/files/ja/web/api/window/atob/index.md @@ -1,9 +1,9 @@ --- title: "Window: atob() メソッド" +short-title: atob() slug: Web/API/Window/atob l10n: sourceCommit: dd3048a4eb74a53395c9a2015baefaa46ef77a56 -short-title: atob() --- {{APIRef("HTML DOM")}} diff --git a/files/ja/web/api/window/btoa/index.md b/files/ja/web/api/window/btoa/index.md index e463ae0acc9096..5b142d584717df 100644 --- a/files/ja/web/api/window/btoa/index.md +++ b/files/ja/web/api/window/btoa/index.md @@ -1,9 +1,9 @@ --- title: "Window: btoa() メソッド" +short-title: btoa() slug: Web/API/Window/btoa l10n: sourceCommit: dd3048a4eb74a53395c9a2015baefaa46ef77a56 -short-title: btoa() --- {{APIRef("HTML DOM")}} diff --git a/files/ja/web/api/workerglobalscope/atob/index.md b/files/ja/web/api/workerglobalscope/atob/index.md index a8e2c468e8fd7a..6b76e982f88a37 100644 --- a/files/ja/web/api/workerglobalscope/atob/index.md +++ b/files/ja/web/api/workerglobalscope/atob/index.md @@ -1,9 +1,9 @@ --- title: "WorkerGlobalScope: atob() メソッド" +short-title: atob() slug: Web/API/WorkerGlobalScope/atob l10n: sourceCommit: dd3048a4eb74a53395c9a2015baefaa46ef77a56 -short-title: atob() --- {{APIRef("HTML DOM")}} diff --git a/files/ja/web/api/workerglobalscope/btoa/index.md b/files/ja/web/api/workerglobalscope/btoa/index.md index eaa2679e1fcd8b..b42bacdcd9d16b 100644 --- a/files/ja/web/api/workerglobalscope/btoa/index.md +++ b/files/ja/web/api/workerglobalscope/btoa/index.md @@ -1,9 +1,9 @@ --- title: "WorkerGlobalScope: btoa() メソッド" +short-title: btoa() slug: Web/API/WorkerGlobalScope/btoa l10n: sourceCommit: dd3048a4eb74a53395c9a2015baefaa46ef77a56 -short-title: btoa() --- {{APIRef("HTML DOM")}} diff --git a/files/ja/web/api/workerglobalscope/importscripts/index.md b/files/ja/web/api/workerglobalscope/importscripts/index.md index 227cfd5375ae83..ea660b12544449 100644 --- a/files/ja/web/api/workerglobalscope/importscripts/index.md +++ b/files/ja/web/api/workerglobalscope/importscripts/index.md @@ -1,9 +1,9 @@ --- title: "WorkerGlobalScope: importScripts() メソッド" +short-title: importScripts() slug: Web/API/WorkerGlobalScope/importScripts l10n: sourceCommit: 2c732b2ab1969d6ae887b865b11ba27de225f291 -short-title: importScripts() --- {{APIRef("Web Workers API")}} diff --git a/files/ja/web/api/xmlhttprequest/responsetype/index.md b/files/ja/web/api/xmlhttprequest/responsetype/index.md index a7be7bb86f8603..50686c51f9b02f 100644 --- a/files/ja/web/api/xmlhttprequest/responsetype/index.md +++ b/files/ja/web/api/xmlhttprequest/responsetype/index.md @@ -1,9 +1,9 @@ --- title: "XMLHttpRequest: responseType プロパティ" +short-title: responseType slug: Web/API/XMLHttpRequest/responseType l10n: sourceCommit: 0a726c0a04ab286873ad91b5ddee478dd938832d -short-title: responseType --- {{APIRef("XMLHttpRequest API")}} diff --git a/files/ja/web/api/xmlhttprequest/responsexml/index.md b/files/ja/web/api/xmlhttprequest/responsexml/index.md index 0475e46233dcf8..b6d1e8b33fcc18 100644 --- a/files/ja/web/api/xmlhttprequest/responsexml/index.md +++ b/files/ja/web/api/xmlhttprequest/responsexml/index.md @@ -1,9 +1,9 @@ --- title: "XMLHttpRequest: responseXML プロパティ" +short-title: responseXML slug: Web/API/XMLHttpRequest/responseXML l10n: sourceCommit: fe468a9966c87cac081d3986b3332d0a51c4e2ee -short-title: responseXML --- {{APIRef("XMLHttpRequest API")}} From 550917988ef6c9eb7f93492c3929eb422c1163d0 Mon Sep 17 00:00:00 2001 From: mdn-bot <108879845+mdn-bot@users.noreply.github.com> Date: Wed, 18 Dec 2024 01:31:46 +0000 Subject: [PATCH 06/20] ja: sync translated content --- files/ja/_redirects.txt | 1 + .../{glossary => web/security/attacks}/clickjacking/index.md | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) rename files/ja/{glossary => web/security/attacks}/clickjacking/index.md (94%) diff --git a/files/ja/_redirects.txt b/files/ja/_redirects.txt index 25cfae556b7c0f..60491c03a83dd1 100644 --- a/files/ja/_redirects.txt +++ b/files/ja/_redirects.txt @@ -1329,6 +1329,7 @@ /ja/docs/Glossary/AOM /ja/docs/Glossary/Accessibility_tree /ja/docs/Glossary/Boot2Gecko /ja/docs/Glossary/Firefox_OS /ja/docs/Glossary/Bézier_curve /ja/docs/Glossary/Bezier_curve +/ja/docs/Glossary/Clickjacking /ja/docs/Web/Security/Attacks/Clickjacking /ja/docs/Glossary/Client_hints /ja/docs/Web/HTTP/Client_hints /ja/docs/Glossary/Constant(定数) /ja/docs/Glossary/Constant /ja/docs/Glossary/Constant(定数) /ja/docs/Glossary/Constant diff --git a/files/ja/glossary/clickjacking/index.md b/files/ja/web/security/attacks/clickjacking/index.md similarity index 94% rename from files/ja/glossary/clickjacking/index.md rename to files/ja/web/security/attacks/clickjacking/index.md index 20805caaa19f06..fd1bab91292550 100644 --- a/files/ja/glossary/clickjacking/index.md +++ b/files/ja/web/security/attacks/clickjacking/index.md @@ -1,6 +1,7 @@ --- title: Clickjacking -slug: Glossary/Clickjacking +slug: Web/Security/Attacks/Clickjacking +original_slug: Glossary/Clickjacking --- {{GlossarySidebar}} From 8208f268305e1899e0e54969cdd2192303386968 Mon Sep 17 00:00:00 2001 From: MikeCAT Date: Fri, 13 Dec 2024 21:58:05 +0900 Subject: [PATCH 07/20] Translate WorkerGlobalScope: fetch() --- .../web/api/workerglobalscope/fetch/index.md | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 files/ja/web/api/workerglobalscope/fetch/index.md diff --git a/files/ja/web/api/workerglobalscope/fetch/index.md b/files/ja/web/api/workerglobalscope/fetch/index.md new file mode 100644 index 00000000000000..0f2680e8f6621a --- /dev/null +++ b/files/ja/web/api/workerglobalscope/fetch/index.md @@ -0,0 +1,72 @@ +--- +title: "WorkerGlobalScope: fetch() メソッド" +slug: Web/API/WorkerGlobalScope/fetch +l10n: + sourceCommit: e8fe043f7d2ad7cd9804d1bf96e0310949f1dac7 +--- + +{{APIRef("Fetch API")}}{{AvailableInWorkers("worker")}} + +{{domxref("WorkerGlobalScope")}} インターフェイスの **`fetch()`** メソッドは、ネットワークからリソースをフェッチする処理を開始し、レスポンスが利用可能になると解決するプロミスを返します。 + +このプロミスは、リクエストに対するレスポンスを表す {{domxref("Response")}} オブジェクトで解決します。 + +`fetch()` のプロミスは、リクエストを送る URL の書式が不正だったり、ネットワークエラーが発生したりなど、リクエストに失敗したときのみ拒否されます。`fetch()` のプロミスは、サーバーがエラーを表す HTTP ステータスコード (`404` や `504` など) で応答した場合は拒否 _されません_。かわりに、`then()` のハンドラーは {{domxref("Response.ok")}} や {{domxref("Response.status")}} プロパティをチェックしなければなりません。 + +`fetch()` メソッドは、取得しようとしているリソースのディレクティブではなく、[Content Security Policy](/ja/docs/Web/HTTP/Headers/Content-Security-Policy) の `connect-src` ディレクティブにより制御されます。 + +> [!NOTE] +> `fetch()` メソッドの引数は、{{domxref("Request.Request","Request()")}} コンストラクターの引数と同一です。 + +## 構文 + +```js-nolint +fetch(resource) +fetch(resource, options) +``` + +### 引数 + +- `resource` + + - : フェッチしたいリソースを定義します。以下を指定できます。 + + - フェッチしたいリソースの URL を表す文字列または{{Glossary("stringifier", "文字列化子")}}を持つその他のオブジェクト ({{domxref("URL")}} オブジェクトなど)。この URL には、ベース URL (ウィンドウコンテキストでは文書の {{domxref("Node.baseURI", "baseURI")}}、ワーカーコンテキストでは {{domxref("WorkerGlobalScope.location")}}) からの相対 URL も使用できます。 + - {{domxref("Request")}} オブジェクト + +- `options` {{optional_inline}} + + - : リクエストに適用したいカスタム設定をすべて格納した {{domxref("RequestInit")}} オブジェクトです。 + +### 返値 + +{{domxref("Response")}} オブジェクトで解決する {{jsxref("Promise")}} です。 + +### 例外 + +- `AbortError` {{domxref("DOMException")}} + - : リクエストは {{domxref("AbortController")}} の {{domxref("AbortController.abort", "abort()")}} メソッドの呼び出しにより中止されました。 +- `NotAllowedError` {{domxref("DOMException")}} + - : [Topics API](/ja/docs/Web/API/Topics_API) の使用が {{httpheader('Permissions-Policy/browsing-topics','browsing-topics')}} [機能ポリシー](/ja/docs/Web/HTTP/Permissions_Policy)により明示的に禁止されているとき、`fetch()` によるリクエストが `browsingTopics: true` を指定して行われると投げられます。 +- {{jsxref("TypeError")}} + - : フェッチ操作を行えなかったときのエラーです。このエラーが起こりうる理由の一覧は、{{domxref("Window.fetch()")}} の例外を参照してください。 + +## 例 + +例は {{domxref("Window.fetch", "fetch()")}} を参照してください。 + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{domxref("Window.fetch()")}} +- [フェッチ API](/ja/docs/Web/API/Fetch_API) +- [サービスワーカー API](/ja/docs/Web/API/Service_Worker_API) +- [オリジン間リソース共有 (CORS)](/ja/docs/Web/HTTP/CORS) +- [HTTP](/ja/docs/Web/HTTP) From 7ba54aefb90808afbc6beb29b7bf2088af92b133 Mon Sep 17 00:00:00 2001 From: MikeCAT Date: Fri, 13 Dec 2024 22:06:02 +0900 Subject: [PATCH 08/20] Fix based on mdn-linter --- files/ja/web/api/workerglobalscope/fetch/index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/files/ja/web/api/workerglobalscope/fetch/index.md b/files/ja/web/api/workerglobalscope/fetch/index.md index 0f2680e8f6621a..0ccbb46d47b65c 100644 --- a/files/ja/web/api/workerglobalscope/fetch/index.md +++ b/files/ja/web/api/workerglobalscope/fetch/index.md @@ -15,8 +15,7 @@ l10n: `fetch()` メソッドは、取得しようとしているリソースのディレクティブではなく、[Content Security Policy](/ja/docs/Web/HTTP/Headers/Content-Security-Policy) の `connect-src` ディレクティブにより制御されます。 -> [!NOTE] -> `fetch()` メソッドの引数は、{{domxref("Request.Request","Request()")}} コンストラクターの引数と同一です。 +> [!NOTE] `fetch()` メソッドの引数は、{{domxref("Request.Request","Request()")}} コンストラクターの引数と同一です。 ## 構文 From 04db0f8191fa09373ec1b2aaa28b7a1774e89b3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=BF=E3=81=91CAT?= Date: Wed, 18 Dec 2024 19:08:50 +0900 Subject: [PATCH 09/20] Change format of NOTE Co-authored-by: Masahiro FUJIMOTO --- files/ja/web/api/workerglobalscope/fetch/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/ja/web/api/workerglobalscope/fetch/index.md b/files/ja/web/api/workerglobalscope/fetch/index.md index 0ccbb46d47b65c..523506b7ba5d17 100644 --- a/files/ja/web/api/workerglobalscope/fetch/index.md +++ b/files/ja/web/api/workerglobalscope/fetch/index.md @@ -15,7 +15,7 @@ l10n: `fetch()` メソッドは、取得しようとしているリソースのディレクティブではなく、[Content Security Policy](/ja/docs/Web/HTTP/Headers/Content-Security-Policy) の `connect-src` ディレクティブにより制御されます。 -> [!NOTE] `fetch()` メソッドの引数は、{{domxref("Request.Request","Request()")}} コンストラクターの引数と同一です。 +> **メモ:** `fetch()` メソッドの引数は、{{domxref("Request.Request","Request()")}} コンストラクターの引数と同一です。 ## 構文 From 753a952b05b48b1e8535e665bf6bf908a8979323 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sat, 14 Dec 2024 11:33:19 +0900 Subject: [PATCH 10/20] =?UTF-8?q?2024/10/09=20=E6=99=82=E7=82=B9=E3=81=AE?= =?UTF-8?q?=E8=8B=B1=E8=AA=9E=E7=89=88=E3=81=AB=E5=9F=BA=E3=81=A5=E3=81=8D?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/javascript/reference/global_objects/json/index.md | 8 ++++---- .../reference/global_objects/json/israwjson/index.md | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/files/ja/web/javascript/reference/global_objects/json/index.md b/files/ja/web/javascript/reference/global_objects/json/index.md index bf9472cf9112ef..7d919a768a9713 100644 --- a/files/ja/web/javascript/reference/global_objects/json/index.md +++ b/files/ja/web/javascript/reference/global_objects/json/index.md @@ -2,7 +2,7 @@ title: JSON slug: Web/JavaScript/Reference/Global_Objects/JSON l10n: - sourceCommit: e7fab5265b54dc9faeff7e8cf4972cc171ec856b + sourceCommit: 47962c4ebad5a138673422ec63a282ab9a63d454 --- {{JSRef}} @@ -85,12 +85,12 @@ DIGIT = %x30-39 ; 0-9 ; DIGIT equivalent to DIGIT rule in [RFC5234] ``` -重要でない{{Glossary("whitespace", "ホワイトスペース")}}は、基本的に任意の場所に置くことができますが、 `JSONNumber` (数値に空白を含んではいけません)や `JSONString` (対応する文字であると解釈されるか、エラーが発生します)の内部では置くことができません。。ホワイトスペースとして有効な文字はタブ文字 ([U+0009](https://symbl.cc/jp/0009/))、キャリッジリターン ([U+000D](https://symbl.cc/jp/000D/))、ラインフィード ([U+000A](https://symbl.cc/jp/000A/))、空白 ([U+0020](https://symbl.cc/jp/0020/)) のみです。 +重要でない{{Glossary("whitespace", "ホワイトスペース")}}は、基本的に任意の場所に置くことができますが、 `JSONNumber` (数値に空白を含んではいけません)や `JSONString` (対応する文字であると解釈されるか、エラーが発生します)の内部では置くことができません。ホワイトスペースとして有効な文字はタブ文字 (U+0009)、キャリッジリターン (U+000D)、ラインフィード (U+000A)、空白 (U+0020) のみです。 ## 静的プロパティ -- `JSON[@@toStringTag]` - - : プロパティ [`@@toStringTag`](/ja/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag) の初期値は文字列 `"JSON"` です。このプロパティは {{jsxref("Object.prototype.toString()")}} で使用します。 +- `JSON[Symbol.toStringTag]` + - : プロパティ [`[Symbol.toStringTag]`](/ja/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag) の初期値は文字列 `"JSON"` です。このプロパティは {{jsxref("Object.prototype.toString()")}} で使用します。 ## 静的メソッド diff --git a/files/ja/web/javascript/reference/global_objects/json/israwjson/index.md b/files/ja/web/javascript/reference/global_objects/json/israwjson/index.md index a07469f099fe8c..06ba9c91309812 100644 --- a/files/ja/web/javascript/reference/global_objects/json/israwjson/index.md +++ b/files/ja/web/javascript/reference/global_objects/json/israwjson/index.md @@ -2,10 +2,10 @@ title: JSON.isRawJSON() slug: Web/JavaScript/Reference/Global_Objects/JSON/isRawJSON l10n: - sourceCommit: 91e28c4fca37647aeae71365d811d0cca9024fe0 + sourceCommit: 47962c4ebad5a138673422ec63a282ab9a63d454 --- -{{JSRef}}{{SeeCompatTable}} +{{JSRef}} **`JSON.isRawJSON()`** は静的メソッドで、ある値が {{jsxref("JSON.rawJSON()")}} から返されるオブジェクトであるかどうかを検査します。 From 060929522433697310cef62539ba108a00b97cfa Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sat, 14 Dec 2024 11:43:48 +0900 Subject: [PATCH 11/20] =?UTF-8?q?2024/06/12=20=E6=99=82=E7=82=B9=E3=81=AE?= =?UTF-8?q?=E8=8B=B1=E8=AA=9E=E7=89=88=E3=81=AB=E5=9F=BA=E3=81=A5=E3=81=8D?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../global_objects/json/parse/index.md | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/files/ja/web/javascript/reference/global_objects/json/parse/index.md b/files/ja/web/javascript/reference/global_objects/json/parse/index.md index b4c0259bcdd6e9..004eace6b1ea37 100644 --- a/files/ja/web/javascript/reference/global_objects/json/parse/index.md +++ b/files/ja/web/javascript/reference/global_objects/json/parse/index.md @@ -2,7 +2,7 @@ title: JSON.parse() slug: Web/JavaScript/Reference/Global_Objects/JSON/parse l10n: - sourceCommit: e7fab5265b54dc9faeff7e8cf4972cc171ec856b + sourceCommit: c3951963f6d3397d21624cfc94a72203acad6412 --- {{JSRef}} @@ -46,7 +46,7 @@ JSON.parse(text, reviver) `JSON.parse()` は、 [JSON の文法](/ja/docs/Web/JavaScript/Reference/Global_Objects/JSON#full_json_grammar)に従って JSON 文字列を構文解析し、 JavaScript 式であるかのように文字列を評価します。 JSON テキストの一部が、同じ JavaScript 式と異なる値を表す唯一の例は、 `"__proto__"` キーを扱う場合です。[オブジェクトリテラル構文 vs. JSON](/ja/docs/Web/JavaScript/Reference/Operators/Object_initializer#オブジェクトリテラル表記法_vs_json) を参照してください。 -### リバイバー引数 +### reviver 引数 `reviver` を指定すると、構文解析で計算された値を変換してから返します。具体的には、計算された値とそのすべてのプロパティ(最も奥になったプロパティから、元の値自身へと[深さ優先](https://en.wikipedia.org/wiki/Depth-first_search)で)が個別にリバイバーに実行されます。 @@ -152,19 +152,35 @@ JSON には型メタデータを記すための構文空間がないため、プ - データの構造に基づいて「推測」する(例えば、 2 つのメンバーからなる配列)。 - 本体の形が定型である場合、プロパティ名から推測する(例えば、`registry` と呼ばれるプロパティはすべて `Map` オブジェクトを保持しているなど)。 -### JSON.parse() は末尾のカンマを許容しない +### 不正な JSON + +`JSON.parse` が JSON の文法に適合しない文字列を受け取った場合、 `SyntaxError` が発生します。 + +JSON において、配列とオブジェクトには[末尾のカンマ](/ja/docs/Web/JavaScript/Reference/Trailing_commas)を置くことができません。 ```js example-bad -// 両方とも SyntaxError が発生 JSON.parse("[1, 2, 3, 4, ]"); -JSON.parse('{"foo" : 1, }'); +// SyntaxError: Unexpected token ] in JSON at position 13 + +JSON.parse('{"foo": 1, }'); +// SyntaxError: Unexpected token } in JSON at position 12 ``` -### JSON.parse() は単一引用符を許容しない +JSON の文字列は(単一引用符でなく)二重引用符で区切らなければなりません。 ```js example-bad -// SyntaxError が発生 JSON.parse("{'foo': 1}"); +// SyntaxError: Unexpected token ' in JSON at position 1 + +JSON.parse("'string'"); +// SyntaxError: Unexpected token ' in JSON at position 0 +``` + +JavaScript の文字列リテラル内で JSON を書く場合は、 JavaScript の文字列リテラルを区切るのに単一引用符を使用するか、 JSON 文字列を区切る二重引用符をエスケープする必要があります。 + +```js-nolint example-good +JSON.parse('{"foo": 1}'); // OK +JSON.parse("{\"foo\": 1}"); // OK ``` ## 仕様書 @@ -177,5 +193,5 @@ JSON.parse("{'foo': 1}"); ## 関連情報 -- [現行の `JSON.parse` の動作のポリフィル(リバイバーの `context` 引数) (`core-js`)](https://github.com/zloirock/core-js#jsonparse-source-text-access) +- [現行の `JSON.parse` の動作(reviver の `context` 引数)のポリフィル (`core-js`)](https://github.com/zloirock/core-js#jsonparse-source-text-access) - {{jsxref("JSON.stringify()")}} From 09e2b110323825f24a6940277b93921ec5a512f2 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sat, 14 Dec 2024 11:49:48 +0900 Subject: [PATCH 12/20] =?UTF-8?q?2024/11/01=20=E6=99=82=E7=82=B9=E3=81=AE?= =?UTF-8?q?=E8=8B=B1=E8=AA=9E=E7=89=88=E3=81=AB=E5=9F=BA=E3=81=A5=E3=81=8D?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reference/global_objects/json/rawjson/index.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/files/ja/web/javascript/reference/global_objects/json/rawjson/index.md b/files/ja/web/javascript/reference/global_objects/json/rawjson/index.md index 4e62288f7dca39..05e11722d5be29 100644 --- a/files/ja/web/javascript/reference/global_objects/json/rawjson/index.md +++ b/files/ja/web/javascript/reference/global_objects/json/rawjson/index.md @@ -2,7 +2,7 @@ title: JSON.rawJSON() slug: Web/JavaScript/Reference/Global_Objects/JSON/rawJSON l10n: - sourceCommit: e7fab5265b54dc9faeff7e8cf4972cc171ec856b + sourceCommit: 0e8730e1a9bdfaa1710530c47135f79cedc3e94b --- {{JSRef}} @@ -45,7 +45,7 @@ JSON.stringify({ value: 12345678901234567890 }); この値は元の数値と正確には等しくありません!これは JavaScript がすべての数値に浮動小数点数を使用しているため、すべての整数を正確に表すことができないからです。数値リテラル `12345678901234567890` 自体は、 JavaScript によって解釈されるときに、最も近い表現可能な数値に丸められます。 -`JSON.rawJSON` がなければ、対応する JavaScript の数値が存在しないため、 `JSON.stringify` に `12345678901234567000` という数値リテラルを生成するように指示する方法はありません。生の JSON では、具体的な値を文字列化するように `JSON.stringify()` に直接指示することができます。 +`JSON.rawJSON` がなければ、対応する JavaScript の数値が存在しないため、 `JSON.stringify` に `12345678901234567890` という数値リテラルを生成するように指示する方法はありません。生の JSON では、具体的な値を文字列化するように `JSON.stringify()` に直接指示することができます。 ```js const rawJSON = JSON.rawJSON("12345678901234567890"); @@ -114,14 +114,11 @@ console.log(JSON.stringify({ value: "\ud83d\ude04" })); // {"value":"😄"} ```js const rawJSON = JSON.rawJSON('"\\ud83d\\ude04"'); const objStr = JSON.stringify({ value: rawJSON }); +console.log(objStr); // {"value":"\ud83d\ude04"} console.log(JSON.parse(objStr).value); // 😄 ``` -`rawJSON` の二重バックスラッシュは、実際には単一のバックスラッシュ文字を表しますので、 JSON テキストは次のようになることに注意してください。 - -```json-nolint -{"value":"\ud83d\ude04"} -``` +`rawJSON` の二重バックスラッシュは、実際には単一のバックスラッシュ文字を表します。 ## 仕様書 From e87c369dff38a1d770a86adc47a8be5c3b97f444 Mon Sep 17 00:00:00 2001 From: nyan-dot <172436782+nyan-dot@users.noreply.github.com> Date: Wed, 18 Dec 2024 22:33:56 +0900 Subject: [PATCH 13/20] =?UTF-8?q?[ja]:=20=E4=B8=8D=E8=87=AA=E7=84=B6?= =?UTF-8?q?=E3=81=AA=E8=A8=B3=E3=82=92=E5=85=A8=E9=9D=A2=E7=9A=84=E3=81=AB?= =?UTF-8?q?=E6=94=B9=E8=A8=82=20(#25092)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [ja]: 不自然な訳を全面的に改訂 * [ja]: 表現を調整 --- files/ja/learn/index.md | 72 ++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/files/ja/learn/index.md b/files/ja/learn/index.md index 45b0efd5db6b76..3837a273eb9c4b 100644 --- a/files/ja/learn/index.md +++ b/files/ja/learn/index.md @@ -7,34 +7,34 @@ l10n: {{LearnSidebar}} -MDN 学習領域へようこそ。この一連の記事は、ウェブ開発の完全な初心者に、ウェブサイトをコーディングするための基本的なスキルを提供することを目的としています。目的は、あなたを「初心者」から「エキスパート」に導くことではなく、「初心者」から「ほどほど」に導くことです。そこから、 [MDN のその他の部分](/ja/)や、前回多くの知識を想定した他の中級から上級のリソースから学びながら、自分の道を歩み始めることができるはずです。 +MDN 学習領域へようこそ。この一連の記事は、ウェブ開発の完全な初心者に、ウェブサイトをコーディングするための基本的なスキルを身に付けてもらうことを目的としています。あなたを「初心者」から「エキスパート」に導くことではなく、「初心者」から「慣れ親しむ」ところまで導くことがこの記事の目的です。これを終えると、そこから自分の歩みを始め、 [MDN の他の記事](/ja/)や、その他の多くの前提知識を想定する中級・上級者向けリソースを使って学んでいくことができるはずです。 -全くの初心者であれば、ウェブ開発は難しいものです。私たちはあなたの手を握り、あなたが快適に感じ、適切にトピックを学ぶために十分な詳細を提供します。あなたがウェブ開発を学習している学生(個人またはクラスの一部として)、クラスの教材を探している先生、趣味の人、ウェブ技術の仕組みをもっと理解したい人など、どのような人であっても、安心してください。 +あなたが全くの初心者なら、ウェブ開発は難しいものかもしれません。私たちはあなたの手を取り、快適かつ適切にトピックを学べるよう十分に詳細な情報を提供します。あなたがウェブ開発を(独学または授業で)学習している学生や教材を探している教師、趣味の人、ただウェブ技術の仕組みをより深く理解したい人など、どのような人であっても安心してください。 -## 読み始める場所 +## どこから始めるか -ウェブ開発を深く学ぶことに自信がなく、おためしセッションから始めたい場合は、[ウェブ入門](/ja/docs/Learn/Getting_started_with_the_web)ガイドを読み終えてから作業することをお勧めします。続いて、以下のトピックを学ぶことから始めてください。 +ウェブ開発を深く学ぼうと決めているわけではなく、おためしセッションから始めたい場合は、[ウェブ入門](/ja/docs/Learn/Getting_started_with_the_web)ガイドからまずはやってみることをお勧めします。それを終えたら、以下のトピックから学習を始めるといいでしょう。 - HTML および CSS - - : HTML とはウェブコンテンツの構造を指定されたもので、 CSS とはそのコンテンツをスタイル設定したりレイアウトしたりする命令を提供するものです。必要不可欠な初心者向け情報については、 [HTML 入門](/ja/docs/Learn/HTML/Introduction_to_HTML)および [CSS 入門](/ja/docs/Learn/CSS/First_steps)を参照してください。 + - : HTML とはウェブコンテンツに構造を与えるもので、 CSS とはそのコンテンツにスタイルやレイアウトを設定するものです。初心者向けの基礎知識については、 [HTML 入門](/ja/docs/Learn/HTML/Introduction_to_HTML)および [CSS の第一歩](/ja/docs/Learn/CSS/First_steps)を参照してください。 - JavaScript - - : JavaScript を使用すると、ウェブサイト上でインタラクティブな機能をコード化することができます。 [JavaScript の第一歩](/ja/docs/Learn/JavaScript/First_steps)から始めてください。 + - : JavaScript を使用すると、ウェブサイト上でインタラクティブな機能を実装することができます。 [JavaScript の第一歩](/ja/docs/Learn/JavaScript/First_steps)から始めてください。 - フレームワークとツールの利用 - - : HTML、CSS、JavaScript の基本をマスターしたら、[クライアントサイドウェブ開発ツール](/ja/docs/Learn/Tools_and_testing/Understanding_client-side_tools)について学んでください。そして、[クライアントサイド JavaScript フレームワーク](/ja/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks)、[サーバーサイドウェブサイトプログラミング](/ja/docs/Learn/Server-side)について掘り下げて考えてみてください。 + - : 素の HTML、CSS、JavaScript の基本をマスターしたら、次は [クライアントサイドウェブ開発ツール](/ja/docs/Learn/Tools_and_testing/Understanding_client-side_tools)について学んでください。それから、 [クライアントサイド JavaScript フレームワーク](/ja/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks)、 [サーバーサイドウェブサイトプログラミング](/ja/docs/Learn/Server-side)の基本的なコンセプトの学習というふうに進めていくといいでしょう。 -> **メモ:** [用語集](/ja/docs/Glossary)には、用語の定義が記載されています。また、ウェブ開発に関する特定の質問がある場合は、[よくある質問](/ja/docs/Learn/Common_questions)の節で解決できることがあるかもしれません。 +> **メモ:** [用語集](/ja/docs/Glossary)には、用語の定義を掲載しています。また、ウェブ開発に関する特定の質問がある場合は、[よくある質問](/ja/docs/Learn/Common_questions)の節で解決できることがあるかもしれません。 > [!CALLOUT] > > #### フロントエンドのウェブ開発者を目指している方へ > -> あなたがフロントエンドウェブ開発者になりたいと思っていて、最初に何を学べばいいかわからない場合は、 [MDN カリキュラム](/ja/curriculum/)を使用して学習計画を立てることを提案します。これは、成功するフロントエンド開発者になるために必要なスキルと実践を網羅し、推奨される学習リソースとともに、体系化された学習経路を提供します。 +> あなたがフロントエンドウェブ開発者になりたいと思っていて、最初に何を学べばいいかわからない場合は、 [MDN Curriculum](/en-US/curriculum/)を使用して学習計画を立てることを提案します。これは、フロントエンド開発者として成功するために必須のスキルと実践を網羅し、推奨される学習リソースとともに、体系化された学習経路を提供します。 > -> [**始めましょう**](/ja/curriculum/) +> [**始める**](/en-US/curriculum/) ## 扱うトピック -下記は MDN 学習領域にて扱っているすべてのトピック一覧です。 +下記は MDN 学習領域で扱っているすべてのトピックの一覧です。 - [ウェブ入門](/ja/docs/Learn/Getting_started_with_the_web) - : 完全なウェブ開発初心者用の実用的な入門を提供します。 @@ -43,42 +43,42 @@ MDN 学習領域へようこそ。この一連の記事は、ウェブ開発の - [CSS — ウェブのスタイル付け](/ja/docs/Learn/CSS) - : CSS はウェブのコンテンツウェブコンテンツのスタイルやレイアウトを制御したり、アニメーションのような振る舞いを追加したりするために用いる言語です。このトピックでは CSS を包括的にカバーします。 - [JavaScript — 動的クライアントサイドスクリプティング](/ja/docs/Learn/JavaScript) - - : JavaScript はウェブページに動的な機能を追加するスクリプト言語です。このトピックでは JavaScript を書いたり理解するのに十分となるのに必要なすべての要点を教えます。 + - : JavaScript はウェブページに動的な機能を追加するスクリプト言語です。このトピックでは JavaScript を一通り書いたり理解できるようになるために必要なすべての要点を教えます。 - [ウェブフォーム — ユーザーデータを扱う](/ja/docs/Learn/Forms) - : ウェブフォームは、ユーザーと対話するための強力なツールです。最も一般的には、ユーザーからデータを収集したり、ユーザーがユーザーインターフェイスを制御したりするために使用されます。以下の記事では、ウェブフォームの構造、スタイル、操作に関するすべての重要な側面について説明します。 - [アクセシビリティ — ウェブを誰でも利用できるようにする](/ja/docs/Learn/Accessibility) - - : アクセシビリティはウェブコンテンツをなるべく多くの人に利用できるようにする実践であり、それは障がいや、端末や、ロケールや、その他の分化させる要素に関係なく利用できるようにします。このトピックでは知る必要のあるすべてが与えられます。 -- [ウェブの性能 — ウェブサイトを高速かつレスポンシブにする](/ja/docs/Learn/Performance) - - : ウェブの性能は、ウェブアプリケーションのダウンロードを確実に高速化し、ダウンロードを帯域幅、画面の寸法、ネットワーク、端末の能力にかかわらず、ユーザーの操作をレスポンシブにする技術です。 + - : アクセシビリティは、障がいや端末、言語、その他の人を分かつ要因に影響されず、ウェブコンテンツをなるべく多くの人に利用できるようにする実践です。このトピックでは知っておく必要のあることのすべてを提供します。 +- [ウェブパフォーマンス — ウェブサイトを高速かつレスポンシブにする](/ja/docs/Learn/Performance) + - : ウェブパフォーマンスは、ユーザーの帯域幅、画面サイズ、ネットワーク、端末の性能にかかわらず、ウェブアプリケーションが高速にダウンロードされ、ユーザーの操作に対してレスポンシブになるようにする技術です。 - [MathML](/ja/docs/Learn/MathML) - - : MathML は、分数、スクリプト、基数、行列、インテグラル、級数などを用いて、ウェブページに数式を記述するために使用する言語です。このトピックでは、MathML を網羅します。 + - : MathML は、分数、スクリプト、基数、行列、インテグラル、級数などを用いて、ウェブページに数式を記述するために使用する言語です。このトピックでは、MathML を扱います。 - [ツールとテスト](/ja/docs/Learn/Tools_and_testing) - - : このトピックでは、開発者が作業を円滑に進めるために使用するツール、例えばブラウザー間テストツール、リンター、フォーマッター、変換ツール、バージョン管理システム、デプロイツール、クライアント側 JavaScript フレームワークなどについて説明します。 + - : このトピックでは、開発者が作業を円滑に進めるために使用するツール、例えばブラウザー間テストツール、リンター、フォーマッター、変換ツール、バージョン管理システム、デプロイツール、クライアントサイド JavaScript フレームワークなどについて説明します。 - [サーバーサイドのウェブサイトプログラミング](/ja/docs/Learn/Server-side) - - : クライアントサイドのウェブ開発に集中していても、サーバーとサーバーサイドのコードがどう動くのかを知るのは有益です。このトピックではサーバーサイドの動作の一般的な入門と、2 つの有名フレームワーク — Django (Python) や Express (Node.js) を使ってサーバーサイドアプリを作る方法の詳しいチュートリアルを提供します。 + - : クライアントサイドのウェブ開発に専念しているとしても、サーバーとサーバーサイドのコードがどう動くのかを知るのは有益です。このトピックではサーバーサイドの動作の一般的な入門と、2 つの有名フレームワーク — Django (Python) や Express (Node.js) を使ってサーバーサイドアプリを作る方法の詳しいチュートリアルを提供します。 -## 課題と評価 +## 課題と評価試験 -MDN のウェブ開発の学習セクションには、自己完結型の課題や評価がたくさんあります。これらは主に 2 つの型に入力します。 +MDN のウェブ開発の学習セクションには、その中で完結する課題や評価試験がたくさんあります。これらは主に 2 つのタイプに分かれます。 -- 「スキルテスト」の課題、例えば[コードでの意思決定 — 条件文](/ja/docs/Learn/JavaScript/Building_blocks/conditionals#test_your_skills!)。 -- 一部のモジュールの終わりには、より詳細な**評価試験**、例えば[画像ギャラリー](/ja/docs/Learn/JavaScript/Building_blocks/Image_gallery)などがあります。 +- 「スキルテスト」課題。例えば[コードでの意思決定 — 条件文](/ja/docs/Learn/JavaScript/Building_blocks/conditionals#test_your_skills!)など。 +- 一部のモジュールの終わりにある、より詳細な**評価試験**。例えば[画像ギャラリー](/ja/docs/Learn/JavaScript/Building_blocks/Image_gallery)など。 -それぞれに関連する採点ガイドと模範解答があり、作業する際の評価に利用できます。 -例えば、このようなリソースを探しやすくするパターンがあります。 +それぞれに関連する採点ガイドと模範解答があり、あなたの答案の評価に利用できます。 +これらのリソースには従っているパターンがあり、例えば以下の方法で簡単に見つけることができます。 -- 上記リンクの**スキルテスト**課題には、採点ガイドと資料が にあります。 -- 上記リンクの**評価試験**には、採点ガイドと資料が にあります。 +- 上記リンクの**スキルテスト**課題の採点ガイドとリソースは にあります。 +- 上記リンクの**評価試験**の採点ガイドとリソースは にあります。 > [!NOTE] -> 課題と評価のための採点ガイドと他のリソースのほとんどは [`mdn/learning-area`](https://github.com/mdn/learning-area/) で利用できますが、一部は [`mdn/css-examples`](https://github.com/mdn/css-examples/tree/main/learn) にあります。 +> 課題と評価試験のための採点ガイドと他のリソースのほとんどは [`mdn/learning-area`](https://github.com/mdn/learning-area/) で利用できますが、一部は [`mdn/css-examples`](https://github.com/mdn/css-examples/tree/main/learn) にあります。 ## サンプルコードの入手 学習領域にあるサンプルコードはすべて [GitHub から利用可能](https://github.com/mdn/learning-area/)です。 すべてのコードを自分のコンピューターにコピーしたいのであれば、[最新の main コードブランチの ZIP をダウンロードする](https://codeload.github.com/mdn/learning-area/zip/main)のが最も簡単です。 -自動更新ができる、より柔軟な方法でリポジトリーをコピーしたい場合は、より複雑な指示に従うことになります。 +自動更新ができる、より柔軟な方法でリポジトリーをコピーしたい場合は、より複雑な以下の指示に従ってください。 1. マシンに [Git をインストールします](https://git-scm.com/downloads)。これは GitHub が動作する基盤となっているバージョン管理システムのソフトウェアです。 2. コンピューターで[コマンドプロンプト](https://www.lifewire.com/how-to-open-command-prompt-2618089) (Windows) またはターミナル ([Linux](https://help.ubuntu.com/community/UsingTheTerminal), [macOS](https://blog.teamtreehouse.com/introduction-to-the-mac-os-x-command-line)) を開きます。 @@ -90,9 +90,9 @@ MDN のウェブ開発の学習セクションには、自己完結型の課題 4. (Finder/エクスプローラーや [cd コマンド]()を使用して)そのディレクトリーに入ると、ファイルが見つかります。 -`learning-area` リポジトリーを、GitHub の master バージョンになされたあらゆる変更で更新するには、以下の手順でできます。 +GitHub の main バージョンにどんな変更があったときでも、`learning-area` リポジトリーを以下の手順で更新できます。 -1. コマンドプロンプト/ターミナルで、 `cd` を使って `learning-area` ディレクトリーの中に移動します。例えば、上位のディレクトリーにいる場合は以下のようにします。 +1. コマンドプロンプト/ターミナルで、 `cd` を使って `learning-area` ディレクトリーの中に移動します。例えば、一つ上のディレクトリーにいる場合は以下のようにします。 ```bash cd learning-area @@ -108,19 +108,19 @@ MDN のウェブ開発の学習セクションには、自己完結型の課題 何か連絡を取りたいことがある場合は、[コミュニケーションチャンネル](/ja/docs/MDN/Community/Communication_channels)を使用してください。サイト上で間違っていると思うことや足りないもの、新しい学習テーマのリクエスト、わからない項目のヘルプなど、どんなことでもお聞かせください。 -コンテンツの開発、改善の手助けに興味がある場合、[協力するには?](/ja/docs/MDN/Community/Contributing)を覗いて、始めてください。あなたが初心者でも、先生でも、熟練のウェブ開発者でも、その他学習体験の改善に興味がある人でも、誰でも歓迎です。 +コンテンツの作成、改善の手助けに興味がある場合、[協力するには?](/ja/docs/MDN/Community/Contributing)を覗いて、それから連絡を取ってください! あなたが初心者でも、教師でも、経験豊富なウェブ開発者でも、その他学習体験の改善に興味がある人でも、誰でも歓迎です。 ## 関連情報 - [Learn JavaScript](https://learnjavascript.online/) - - : ウェブ開発者を目指す人のための優れたリソースです。短いレッスンとインタラクティブなテストで、自動評価によって導かれるインタラクティブな環境で JavaScript を学ぶことができます。最初の 40 レッスンは無料で、完全なコースはわずかな一回の支払いで利用できます。 + - : ウェブ開発者を目指す人のための優れたリソースです。インタラクティブな環境で、短いレッスンとインタラクティブなテストを使用して、自動的に採点される評価試験にガイドされながら JavaScript を学ぶことができます。最初の 40 レッスンは無料で、完全なコースはわずかな一回の支払いで利用できます。 - [Codecademy](https://www.codecademy.com/) - - : 最初からプログラミング言語を学ぶためのすばらしいインタラクティブサイトです。 + - : 一からプログラミング言語を学ぶための優れたインタラクティブなサイトです。 - [freeCodeCamp.org](https://www.freecodecamp.org/) - - : ウェブ開発を学習するチュートリアルやプロジェクトのあるインタラクティブなサイトです。 + - : ウェブ開発を学習するチュートリアルやプロジェクトを備えたインタラクティブなサイトです。 - [The Odin Project](https://www.theodinproject.com/) - - : 初心者から上級者まで、無料で開くためのフルスタックカリキュラムが特徴です。 + - : 初心者から上級者までを対象に、無料かつオープンソースのフルスタックカリキュラムが特徴です。 - [MDN Blog](/en-US/blog/) - : MDN ブログでは、 MDN チームやゲストライターが、サイトの新しい開発、HTML、CSS、JavaScript、他にもウェブ開発に関するニュースを記事にしています。 - [Mozilla developer newsletter](https://www.mozilla.org/en/newsletter/developer/) - - : 我々のウェブ開発者向けニュースレターで、あらゆる経験レベル向けのすばらしいリソースです。 + - : ウェブ開発者向けの私たちのニュースレターで、あらゆる経験のレベルに向けた素晴らしいリソースです。 From becdf1074217fdeccbe66fc12bb0c43a01043803 Mon Sep 17 00:00:00 2001 From: manjuu-eater <88940383+manjuu-eater@users.noreply.github.com> Date: Wed, 18 Dec 2024 18:39:20 +0900 Subject: [PATCH 14/20] =?UTF-8?q?=E8=AA=A4=E5=AD=97=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/javascript/reference/statements/for-await...of/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/ja/web/javascript/reference/statements/for-await...of/index.md b/files/ja/web/javascript/reference/statements/for-await...of/index.md index a9070d2371f2e5..fa31c6d9a60d43 100644 --- a/files/ja/web/javascript/reference/statements/for-await...of/index.md +++ b/files/ja/web/javascript/reference/statements/for-await...of/index.md @@ -7,7 +7,7 @@ l10n: {{jsSidebar("Statements")}} -**`for await...of`** 文は、[非同期反復可能オブジェクト](/ja/docs/Web/JavaScript/Reference/Iteration_protocols#非同期イテレーターと非同期反復可能プロトコル)を、[同期反復可能オブジェクト](/ja/docs/Web/JavaScript/Reference/Iteration_protocols#反復可能プロトコル)と同様に反復処理するループを作成します。この文は. [`await`](/ja/docs/Web/JavaScript/Reference/Operators/await) が使用できるコンテキスト、例えば[非同期関数](/ja/docs/Web/JavaScript/Reference/Statements/async_function)の本体や[モジュール](/ja/docs/Web/JavaScript/Guide/Modules)内などでのみ使用できます。 +**`for await...of`** 文は、[非同期反復可能オブジェクト](/ja/docs/Web/JavaScript/Reference/Iteration_protocols#非同期イテレーターと非同期反復可能プロトコル)を、[同期反復可能オブジェクト](/ja/docs/Web/JavaScript/Reference/Iteration_protocols#反復可能プロトコル)と同様に反復処理するループを作成します。この文は [`await`](/ja/docs/Web/JavaScript/Reference/Operators/await) が使用できるコンテキスト、例えば[非同期関数](/ja/docs/Web/JavaScript/Reference/Statements/async_function)の本体や[モジュール](/ja/docs/Web/JavaScript/Guide/Modules)内などでのみ使用できます。 {{EmbedInteractiveExample("pages/js/statement-forawaitof.html", "taller")}} From 18af0653ed94a45db23dfb91d6734933224c1b7e Mon Sep 17 00:00:00 2001 From: MDN Web Docs GitHub Bot <108879845+mdn-bot@users.noreply.github.com> Date: Wed, 18 Dec 2024 13:47:13 +0000 Subject: [PATCH 15/20] [ru] sync translated content (#25111) * ru: sync translated content * remove unnecessary front-matter field --------- Co-authored-by: Leonid Vinogradov --- files/ru/_redirects.txt | 3 ++- files/ru/_wikihistory.json | 8 ++++---- .../glossary/{dos_attack => denial_of_service}/index.md | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) rename files/ru/glossary/{dos_attack => denial_of_service}/index.md (98%) diff --git a/files/ru/_redirects.txt b/files/ru/_redirects.txt index e2758167c1ede9..2ef056ead20f91 100644 --- a/files/ru/_redirects.txt +++ b/files/ru/_redirects.txt @@ -82,6 +82,7 @@ /ru/docs/Games/Инструменты/asm.js /ru/docs/Games/Tools/asm.js /ru/docs/Glossary/Block/Скриптинг /ru/docs/Glossary/Block/Scripting /ru/docs/Glossary/Bézier_curve /ru/docs/Glossary/Bezier_curve +/ru/docs/Glossary/DOS_attack /ru/docs/Glossary/Denial_of_Service /ru/docs/Glossary/Empty_element /ru/docs/Glossary/Void_element /ru/docs/Glossary/First_interactive /ru/docs/Glossary/First_CPU_idle /ru/docs/Glossary/Round_Trip_Time_(RTT) /ru/docs/Glossary/Round_Trip_Time @@ -953,7 +954,7 @@ /ru/docs/Словарь/Crawler /ru/docs/Glossary/Crawler /ru/docs/Словарь/DNS /ru/docs/Glossary/DNS /ru/docs/Словарь/DOM /ru/docs/Glossary/DOM -/ru/docs/Словарь/DOS_attack /ru/docs/Glossary/DOS_attack +/ru/docs/Словарь/DOS_attack /ru/docs/Glossary/Denial_of_Service /ru/docs/Словарь/Doctype /ru/docs/Glossary/Doctype /ru/docs/Словарь/Domain_name /ru/docs/Glossary/Domain_name /ru/docs/Словарь/ECMA /ru/docs/Glossary/ECMA diff --git a/files/ru/_wikihistory.json b/files/ru/_wikihistory.json index 388c2b1b41d959..32c5fde1418999 100644 --- a/files/ru/_wikihistory.json +++ b/files/ru/_wikihistory.json @@ -521,10 +521,6 @@ "modified": "2019-03-23T22:40:33.690Z", "contributors": ["tronov", "MuradAz"] }, - "Glossary/DOS_attack": { - "modified": "2019-08-14T18:10:26.015Z", - "contributors": ["Newage3018"] - }, "Glossary/Data_structure": { "modified": "2019-03-23T22:40:22.188Z", "contributors": ["alitskevich"] @@ -533,6 +529,10 @@ "modified": "2019-03-18T20:41:22.238Z", "contributors": ["Frisle"] }, + "Glossary/Denial_of_Service": { + "modified": "2019-08-14T18:10:26.015Z", + "contributors": ["Newage3018"] + }, "Glossary/Developer_Tools": { "modified": "2019-03-18T21:46:30.400Z", "contributors": ["bazoooker"] diff --git a/files/ru/glossary/dos_attack/index.md b/files/ru/glossary/denial_of_service/index.md similarity index 98% rename from files/ru/glossary/dos_attack/index.md rename to files/ru/glossary/denial_of_service/index.md index afc2d6e571763c..95bb7264b239ee 100644 --- a/files/ru/glossary/dos_attack/index.md +++ b/files/ru/glossary/denial_of_service/index.md @@ -1,6 +1,6 @@ --- title: DoS атака -slug: Glossary/DOS_attack +slug: Glossary/Denial_of_Service --- {{GlossarySidebar}} From 0d1ed7e9b2a964a7d2d5d9bfe86ece27d5d24873 Mon Sep 17 00:00:00 2001 From: Dasom Won Date: Wed, 18 Dec 2024 16:16:05 +0100 Subject: [PATCH 16/20] [ko] update(
): update content & structure (#25132) * update(dd): update content & structure * Update files/ko/web/html/element/dd/index.md Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- files/ko/web/html/element/dd/index.md | 42 ++++++++++++++------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/files/ko/web/html/element/dd/index.md b/files/ko/web/html/element/dd/index.md index 316d5cdb3a2703..cb24accafdd1d0 100644 --- a/files/ko/web/html/element/dd/index.md +++ b/files/ko/web/html/element/dd/index.md @@ -1,20 +1,32 @@ --- -title:
+title:
설명 세부정보 요소 slug: Web/HTML/Element/dd +l10n: + sourceCommit: 9231a7046973685f4600e1891fa644ecce41ef3b --- {{HTMLSidebar}} -**HTML `
` 요소**는 정의 목록 요소({{HTMLElement("dl")}})에서 앞선 용어({{htmlelement("dt")}})에 대한 설명, 정의, 또는 값을 제공합니다. +**HTML `
` 요소**는 설명 목록 요소({{HTMLElement("dl")}})에서 앞선 용어({{htmlelement("dt")}})에 대한 설명, 정의, 또는 값을 제공합니다. {{EmbedInteractiveExample("pages/tabbed/dd.html", "tabbed-standard")}} +## 특성 + +이 요소는 [전역 특성](/ko/docs/Web/HTML/Global_attributes)만을 포함합니다. + +## 예제 + +예시를 보러면 [`
` 예제](/ko/docs/Web/HTML/Element/dl#예제)를 참고하세요. + +## 기술 요약 + @@ -23,9 +35,9 @@ slug: Web/HTML/Element/dd @@ -39,8 +51,7 @@ slug: Web/HTML/Element/dd @@ -49,11 +60,13 @@ slug: Web/HTML/Element/dd - + - + @@ -62,17 +75,6 @@ slug: Web/HTML/Element/dd
콘텐츠 카테고리
가능한 콘텐츠 - 플로우 콘텐츠. + >
가능한 부모 요소 - {{HTMLElement("dl")}} 또는 ({{glossary("WHATWG")}} - HTML에서) {{HTMLElement("dl")}} 안의 {{htmlelement("div")}} + {{HTMLElement("dl")}} 또는 {{HTMLElement("dl")}}의 자식 요소인 {{htmlelement("div")}}. 이 요소는 {{HTMLElement("dt")}} 또는 다른 {{HTMLElement("dd")}} 요소 뒤에 사용할 수 있습니다.
암시적 ARIA 역할definition + 해당 역할 없음 +
가능한 ARIA 역할없음허용되는 role 없음
DOM 인터페이스
-## 특성 - -이 요소는 [전역 특성](/ko/docs/Web/HTML/Global_attributes)을 포함합니다. - -- `nowrap` {{Non-standard_inline}} - - : 값이 `yes`면 너비의 끝에서 정의 텍스트의 줄이 바뀌지 않습니다. 기본값은 `no`입니다. - -## 예제 - -예제를 보려면 [`
` 예제](/ko/docs/Web/HTML/Element/dl#%ec%98%88%ec%a0%9c)를 보세요. - ## 명세 {{Specifications}} From 3f94243b20a8f0e37ea27abc00f78ee5df61a170 Mon Sep 17 00:00:00 2001 From: Andi Pieper Date: Wed, 18 Dec 2024 20:32:52 +0100 Subject: [PATCH 17/20] chore: fix link to sync translated content source code (#25152) --- docs/orphaned_and_conflicting.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/orphaned_and_conflicting.md b/docs/orphaned_and_conflicting.md index ce8e8a6b877606..54c69f330dd5a7 100644 --- a/docs/orphaned_and_conflicting.md +++ b/docs/orphaned_and_conflicting.md @@ -18,7 +18,7 @@ When an English page is redirected/moved to a new location, but the target alrea ## How they are generated -This "structure" synchronization between `mdn/content` and `mdn/translated-content` occurs daily with this GitHub Actions workflow (the logic can be found at ) +This "structure" synchronization between `mdn/content` and `mdn/translated-content` occurs daily with this GitHub Actions workflow (the logic can be found at ) Before #8378 (16th Sep. 2022), this synchronization automatically added commits (see [an example](https://github.com/mdn/translated-content/commit/81b40438ed59fc3d5990eae0d1eb333ad7b5dd27), or [another](https://github.com/mdn/translated-content/commit/51268ca7b9bdf3ead1c1775dee61bcc90445f0dc)). Now, a PR is created with the changes for each locale (see #9029, #9026). From 64e6051cf1b68a95c9046d1f6c73fc948647bd88 Mon Sep 17 00:00:00 2001 From: Mario Ferrero <47794126+mariofdezzz@users.noreply.github.com> Date: Wed, 18 Dec 2024 22:25:05 +0000 Subject: [PATCH 18/20] Missing page viewport meta tag [es] (#25153) * missing page viewport meta tag [es] * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- files/es/web/html/viewport_meta_tag/index.md | 99 ++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 files/es/web/html/viewport_meta_tag/index.md diff --git a/files/es/web/html/viewport_meta_tag/index.md b/files/es/web/html/viewport_meta_tag/index.md new file mode 100644 index 00000000000000..c0d3408eb05a25 --- /dev/null +++ b/files/es/web/html/viewport_meta_tag/index.md @@ -0,0 +1,99 @@ +--- +title: Etiqueta meta del Viewport +slug: Web/HTML/Viewport_meta_tag +--- + +{{HTMLSidebar}} + +Este artículo describe cómo usar la etiqueta `` "viewport" para controlar el tamaño y la forma del viewport. + +## Antecedentes + +El {{glossary("viewport")}} del navegador es el área de la ventana en la que se puede ver el contenido web. Esto a menudo no tiene el mismo tamaño que la página renderizada, en cuyo caso el navegador proporciona barras de desplazamiento para que el usuario pueda desplazarse y acceder a todo el contenido. + +Algunos dispositivos móviles y otras pantallas estrechas renderizan las páginas en una ventana virtual o viewport, que generalmente es más ancha que la pantalla, y luego reducen el resultado renderizado para que se pueda ver todo a la vez. Los usuarios pueden luego hacer zoom y desplazarse para observar más de cerca diferentes áreas de la página. Por ejemplo, si una pantalla móvil tiene un ancho de 640px, las páginas podrían renderizarse con un viewport virtual de 980px y luego reducirse para ajustarse al espacio de 640px. + +Esto se hace porque no todas las páginas están optimizadas para móviles y se rompen (o al menos se ven mal) cuando se renderizan en un ancho de viewport pequeño. Este viewport virtual es una forma de mejorar la apariencia de sitios no optimizados para móviles en dispositivos con pantallas estrechas. + +Sin embargo, este mecanismo no es tan bueno para las páginas optimizadas para pantallas estrechas usando [media queries](/es/docs/Web/CSS/CSS_media_queries), ya que si el viewport virtual es de 980px, por ejemplo, las consultas de medios que se activan a 640px o 480px o menos nunca se usarán, limitando la efectividad de estas técnicas de diseño responsivo. El elemento `` del viewport mitiga este problema en dispositivos con pantallas estrechas. + +## Conceptos básicos del Viewport + +El viewport es una lista separada por comas de pares de características y valores. Un sitio típicamente optimizado para móviles contiene algo como lo siguiente: + +```html + +``` + +No todos los dispositivos tienen el mismo ancho; debes asegurarte de que tus páginas funcionen bien en una gran variedad de tamaños y orientaciones de pantalla. + +Los atributos básicos del elemento `` "viewport" incluyen: + +- `width` + - : Controla el tamaño (mínimo) del viewport (ver [ancho del viewport y ancho de la pantalla](#ancho_del_viewport_y_ancho_de_la_pantalla)). Puede establecerse en un número específico de píxeles como `width=600` o en el valor especial `device-width`, que es el tamaño físico de la pantalla del dispositivo en píxeles CSS. Este valor establece el valor de la unidad [`vw`](/es/docs/Web/CSS/length#longitudes_relativas_al_viewport). Mínimo: `1`. Máximo: `10000`. Valores negativos: ignorados. +- `height` + - : Controla el tamaño (mínimo) del viewport (ver [ancho del viewport y ancho de la pantalla](#ancho_del_viewport_y_ancho_de_la_pantalla)). Puede establecerse en un número específico de píxeles como `height=400` o en el valor especial `device-height`, que es el tamaño físico de la pantalla del dispositivo en píxeles CSS. Este valor establece el valor de la unidad [`vh`](/es/docs/Web/CSS/length#longitudes_relativas_al_viewport). Mínimo: `1`. Máximo: `10000`. Valores negativos: ignorados. +- `initial-scale` + - : Controla el nivel de zoom cuando la página se carga por primera vez. Mínimo: `0.1`. Máximo: `10`. Predeterminado: `1`. Valores negativos: ignorados. +- `minimum-scale` + - : Controla cuánto se puede alejar el zoom en la página. Mínimo: `0.1`. Máximo: `10`. Predeterminado: `0.1`. Valores negativos: ignorados. +- `maximum-scale` + - : Controla cuánto se puede acercar el zoom en la página. Cualquier valor inferior a 3 no cumple con la accesibilidad. Mínimo: `0.1`. Máximo: `10`. Predeterminado: `10`. Valores negativos: ignorados. +- `user-scalable` + - : Controla si se permiten acciones de acercar y alejar en la página. Valores válidos: `0`, `1`, `yes` o `no`. Predeterminado: `1`, que es igual a `yes`. Establecer el valor en `0`, que es igual a `no`, va en contra de las Directrices de Accesibilidad de Contenidos Web (WCAG). +- `interactive-widget` + - : Especifica el efecto que tienen los widgets de la interfaz de usuario interactiva, como un teclado virtual, en los viewports de la página. Valores válidos: `resizes-visual`, `resizes-content` o `overlays-content`. Predeterminado: `resizes-visual`. + +> [!ADVERTENCIA] +> Usar `user-scalable=no` puede causar problemas de accesibilidad para usuarios con discapacidades visuales, como baja visión. [WCAG](/es/docs/Web/Accessibility/Understanding_WCAG/Perceivable#pauta_1.4_facilitar_a_los_usuarios_ver_y_o%C3%ADr_el_contenido_incluyendo_la_separaci%C3%B3n_entre_el_primer_plano_y_el_fondo) requiere un mínimo de escalado de 2×; sin embargo, la mejor práctica es permitir un zoom de 5×. + +## Densidad de pantalla + +Las resoluciones de pantalla han aumentado hasta el punto en que los píxeles individuales son indistinguibles para el ojo humano. Por ejemplo, los teléfonos inteligentes suelen tener pantallas pequeñas con resoluciones superiores a 1920x1080 píxeles (≈400dpi). Debido a esto, muchos navegadores pueden mostrar sus páginas en un tamaño físico más pequeño traduciendo múltiples píxeles de hardware por cada "píxel" CSS. Inicialmente, esto causó problemas de usabilidad y legibilidad en muchos sitios web optimizados para dispositivos táctiles. + +En pantallas de alta densidad (DPI), las páginas con `initial-scale=1` estarán efectivamente ampliadas por los navegadores. Su texto será suave y nítido, pero sus imágenes de mapa de bits pueden no aprovechar al máximo la resolución completa de la pantalla. Para obtener imágenes más nítidas en estas pantallas, los desarrolladores web pueden diseñar imágenes – o diseños completos – a una escala mayor que su tamaño final y luego reducirlas utilizando propiedades de CSS o del viewport. + +La relación de píxeles predeterminada depende de la densidad de la pantalla. En una pantalla con densidad inferior a 200dpi, la relación es 1.0. En pantallas con densidad entre 200 y 300dpi, la relación es 1.5. Para pantallas con densidad superior a 300dpi, la relación es el máximo entero menor o igual a (_density_/150dpi). Tenga en cuenta que esta relación predeterminada es verdadera solo cuando la escala del viewport es igual a 1. De lo contrario, la relación entre píxeles CSS y píxeles del dispositivo depende del nivel de zoom actual. + +## Ancho del viewport y ancho de la pantalla + +Los sitios pueden establecer su viewport a un tamaño específico. Por ejemplo, la definición `"width=320, initial-scale=1"` puede usarse para ajustarse precisamente a una pantalla pequeña de teléfono en orientación vertical. Esto puede causar problemas cuando el navegador renderiza una página en un tamaño mayor. Para solucionar esto, los navegadores ampliarán el ancho del viewport si es necesario para llenar la pantalla a la escala solicitada. Esto es especialmente útil en dispositivos con pantallas grandes. + +Para las páginas que establecen una escala inicial o máxima, esto significa que la propiedad `width` se traduce en un ancho mínimo del viewport. Por ejemplo, si tu diseño necesita al menos 500 píxeles de ancho, puedes usar el siguiente marcado. Cuando la pantalla tiene más de 500 píxeles de ancho, el navegador ampliará el viewport (en lugar de hacer zoom) para ajustarse a la pantalla: + +```html + +``` + +Otros [atributos](/es/docs/Web/HTML/Element/meta#atributos) disponibles son `minimum-scale`, `maximum-scale` y `user-scalable`. Estas propiedades afectan la escala inicial y el ancho, así como también limitan los cambios en el nivel de zoom. + +## El efecto de los widgets de UI interactiva + +Los widgets de UI interactivos del navegador pueden influir en el tamaño de los viewports de la página. El widget de UI más común de este tipo es un teclado virtual. Para controlar qué comportamiento de redimensionamiento debe usar el navegador, establece la propiedad `interactive-widget`. + +Los valores permitidos son: + +- `resizes-visual` + - : El {{Glossary("visual viewport")}} se redimensiona por el widget interactivo. +- `resizes-content` + - : El {{Glossary("viewport")}} se redimensiona por el widget interactivo. +- `overlays-content` + - : Ni el {{Glossary("viewport")}} ni el {{Glossary("visual viewport")}} se redimensionan por el widget interactivo. + +```html + +``` + +Cuando el {{Glossary("viewport")}} se redimensiona, el [bloque contenedor](/es/docs/Web/CSS/Containing_block) inicial también se redimensiona, afectando así el tamaño calculado de las [unidades de viewport](/es/docs/Web/CSS/length#longitudes_relativas_al_viewport). + +## Tamaños comunes de viewport para dispositivos móviles y tabletas + +Si quieres saber qué dispositivos móviles y tabletas tienen qué anchos de viewport, existe una lista completa de [tamaños de viewport para móviles y tabletas aquí](https://experienceleague.adobe.com/es/docs/target/using/experiences/vec/mobile-viewports). Esto proporciona información como el ancho del viewport en orientación vertical y horizontal, así como el tamaño físico de la pantalla, el sistema operativo y la densidad de píxeles del dispositivo. + +## Especificaciones + +{{Specifications}} + +## Véase también + +- Artículo: [Prepárate para los cambios en el comportamiento de redimensionamiento del viewport que llegan a Chrome en Android](https://developer.chrome.com/blog/viewport-resize-behavior/) From c0bf14e99a048ee813b113040c4826354a85c8e6 Mon Sep 17 00:00:00 2001 From: A1lo Date: Thu, 19 Dec 2024 09:19:27 +0800 Subject: [PATCH 19/20] zh-cn: replace LandingPageListSubpages with SubpagesWithSummaries macro (#25056) --- .../mdn/writing_guidelines/howto/index.md | 4 +++- .../page_structures/index.md | 11 ++++++++-- .../page_structures/macros/other/index.md | 11 +++++----- .../page_structures/page_types/index.md | 2 +- files/zh-cn/mozilla/firefox/index.md | 20 +++++++++---------- files/zh-cn/mozilla/index.md | 4 +++- files/zh-cn/web/performance/index.md | 13 ++++++------ files/zh-cn/web/xml/index.md | 4 ++-- 8 files changed, 41 insertions(+), 28 deletions(-) diff --git a/files/zh-cn/mdn/writing_guidelines/howto/index.md b/files/zh-cn/mdn/writing_guidelines/howto/index.md index 07bf39544a4977..111898df2e48a8 100644 --- a/files/zh-cn/mdn/writing_guidelines/howto/index.md +++ b/files/zh-cn/mdn/writing_guidelines/howto/index.md @@ -1,6 +1,8 @@ --- title: MDN Web 文档写作指南 slug: MDN/Writing_guidelines/Howto +l10n: + sourceCommit: 514d1d2690c6374cd65921193ff6b166677395fd --- {{MDNSidebar}} @@ -10,4 +12,4 @@ MDN Web 文档写作指南的这一部分包含了为 MDN Web 文档做贡献时 > [!NOTE] > 在本节中,我们假设你已经阅读了贡献指南,熟悉 `mdn/content` 仓库,并且知道如何使用 git 和 GitHub。 -{{LandingPageListSubpages}} +{{SubpagesWithSummaries}} diff --git a/files/zh-cn/mdn/writing_guidelines/page_structures/index.md b/files/zh-cn/mdn/writing_guidelines/page_structures/index.md index 9b25ff0cad14c2..efb28f8d865a4e 100644 --- a/files/zh-cn/mdn/writing_guidelines/page_structures/index.md +++ b/files/zh-cn/mdn/writing_guidelines/page_structures/index.md @@ -1,10 +1,17 @@ --- title: 文档结构 slug: MDN/Writing_guidelines/Page_structures +l10n: + sourceCommit: 514d1d2690c6374cd65921193ff6b166677395fd --- {{MDNSidebar}} -在 MDN 上有各式各样的可重复使用的文档结构,以使 MDN 文章中的内容有一致性的表现。这里的文章描述了这些结构。因此作为一名 MDN 的作者,你可以识别、应用并修改成适合于你撰写、编辑或翻译的文档。 +在 MDN 上,有一些文档结构被用于确保信息在 MDN 文章中的呈现方式一致。本页面列出了描述这些结构的文章,以便你可以根据需要对你编写、编辑或翻译的文档内容进行适当修改。 -{{LandingPageListSubPages}} +{{SubpagesWithSummaries}} + +## 参见 + +- [页面模板](/zh-CN/docs/MDN/Writing_guidelines/Page_structures/Page_types#页面模板) +- [页面部件](/zh-CN/docs/MDN/Writing_guidelines/Writing_style_guide#页面部件) diff --git a/files/zh-cn/mdn/writing_guidelines/page_structures/macros/other/index.md b/files/zh-cn/mdn/writing_guidelines/page_structures/macros/other/index.md index c4fca51d0a2f10..de1e2d2fa958ab 100644 --- a/files/zh-cn/mdn/writing_guidelines/page_structures/macros/other/index.md +++ b/files/zh-cn/mdn/writing_guidelines/page_structures/macros/other/index.md @@ -1,6 +1,8 @@ --- title: 其他宏 slug: MDN/Writing_guidelines/Page_structures/Macros/Other +l10n: + sourceCommit: 514d1d2690c6374cd65921193ff6b166677395fd --- {{MDNSidebar}} @@ -20,12 +22,11 @@ slug: MDN/Writing_guidelines/Page_structures/Macros/Other #### 子页面列表 - [`ListSubpages`](https://github.com/mdn/yari/blob/main/kumascript/macros/ListSubpages.ejs) 生成指向当前页面所有直接子级的无序列表;用于自动生成文档集的目录。 -- [`LandingPageListSubpages`](https://github.com/mdn/yari/blob/main/kumascript/macros/LandingPageListSubpages.ejs) 输出当前页面所有直接子页面的两列定义列表,其标题为 {{HTMLElement("dt")}},其 SEO 摘要为 {{HTMLElement("dd")}}。这使得自动生成相当有吸引力的着陆页变得容易。 +- [`SubpagesWithSummaries`](https://github.com/mdn/yari/blob/main/kumascript/macros/SubpagesWithSummaries.ejs) 组织当前页面所有直接子页面的定义列表,其标题为 {{HTMLElement("dt")}},其 SEO 摘要为 {{HTMLElement("dd")}}。这使得自动生成相当有吸引力的着陆页变得容易。 - [`APIListAlpha`](https://github.com/mdn/yari/blob/main/kumascript/macros/APIListAlpha.ejs) 构建当前页面的子页面列表,格式为 API 术语列表,按首字母划分。有三个参数。对于第一个参数,如果要包含所有顶级子页面则将其设为 0,如果要包含带有“.”的子页面则将其设为 1。以他们的名字。第二个和第三个让你添加文本以在每个链接中显示为名称的一部分。这可用于为元素链接添加“<”和“>”,或在方法名称列表的末尾添加“()”。 -- [`SubpagesWithSummaries`](https://github.com/mdn/yari/blob/main/kumascript/macros/SubpagesWithSummaries.ejs) 构造当前页面的所有直接子级的定义列表。没有进行其他的格式化。你可以使用 [`LandingPageListSubpages`](https://github.com/mdn/yari/blob/main/kumascript/macros/LandingPageListSubpages.ejs) 获得一个两栏式列表,准备用作多栏式着陆页。 -### 快速链接 +### 链接列表 -我们有一个宏,专门用于创建[快速链接](/zh-CN/docs/MDN/Writing_guidelines/Page_structures/Sidebars): +我们有一个宏,专门用于在内容中创建[链接列表](/zh-CN/docs/MDN/Writing_guidelines/Page_structures/Sidebars): -- [`QuickLinksWithSubpages`](https://github.com/mdn/yari/blob/main/kumascript/macros/QuickLinksWithSubpages.ejs) 创建一组由当前页面(或指定页面,如果有的话)下方的页面组成的快速链接。生成最多两个深度级别的链接。 +- [`QuickLinksWithSubpages`](https://github.com/mdn/yari/blob/main/kumascript/macros/QuickLinksWithSubpages.ejs) 创建一组由属于当前页面(或指定页面,如果给定的话)的子页面组成的链接列表。生成最多两个深度级别的链接。 diff --git a/files/zh-cn/mdn/writing_guidelines/page_structures/page_types/index.md b/files/zh-cn/mdn/writing_guidelines/page_structures/page_types/index.md index 40d1dbd6a239df..04ea8a6852fb89 100644 --- a/files/zh-cn/mdn/writing_guidelines/page_structures/page_types/index.md +++ b/files/zh-cn/mdn/writing_guidelines/page_structures/page_types/index.md @@ -188,7 +188,7 @@ MDN 有三个大类的页面类型,尽管有些页面类型属于多个类别 **着陆页**作为其子页面的菜单,因此主要作为*导航*页面。着陆页布局通常用于关于特定主题的页面树的根页面。它以对主题的简要概述开头,然后呈现一个结构化的链接列表,指向其子页面,以及可选的其他对读者有用的材料。 -子页面列表可使用 [`SubpagesWithSummaries`](https://github.com/mdn/yari/blob/main/kumascript/macros/SubpagesWithSummaries.ejs) 和 [`LandingPageListSubpages`](https://github.com/mdn/yari/blob/main/kumascript/macros/LandingPageListSubpages.ejs) 模板自动生成。但是,在更复杂的情况下,列表可能需要手动创建(和维护!)。 +子页面列表可使用 [`SubpagesWithSummaries`](https://github.com/mdn/yari/blob/main/kumascript/macros/SubpagesWithSummaries.ejs) 模板自动生成。但是,在更复杂的情况下,列表可能需要手动创建(和维护)。 ### 示例 diff --git a/files/zh-cn/mozilla/firefox/index.md b/files/zh-cn/mozilla/firefox/index.md index 4166396fa8efca..0cc75fb4caf592 100644 --- a/files/zh-cn/mozilla/firefox/index.md +++ b/files/zh-cn/mozilla/firefox/index.md @@ -2,16 +2,16 @@ title: Firefox slug: Mozilla/Firefox l10n: - sourceCommit: 8099d0d958b098c10cd4152c29922b6855ad601c + sourceCommit: 514d1d2690c6374cd65921193ff6b166677395fd --- {{FirefoxSidebar}} -[Firefox](https://www.mozilla.org/firefox/)(非正式中文名称“火狐”)是 Mozilla 的流行 Web 浏览器,适用于多种平台,包括 Windows、MacOS、Linux 等桌面版,以及所有的 Android 和 iOS 移动设备。得益于对最新的 Web 标准的广泛兼容性和强有力的开发工具,Firefox 是 Web 开发者和终端用户的绝佳选择。 +[Firefox](https://www.mozilla.org/zh-CN/firefox/)(非正式中文名称“火狐”)是 Mozilla 的流行 Web 浏览器,适用于多种平台,包括 Windows、MacOS、Linux 等桌面版,以及所有的 Android 和 iOS 移动设备。得益于对最新的 Web 标准的广泛兼容性和强有力的开发工具,Firefox 是 Web 开发者和终端用户的绝佳选择。 Firefox 是一个开源项目,许多代码都是由庞大的志愿者社区贡献的。在此你可以了解如何为 Firefox 项目做贡献,你也可以找到关于构建 Firefox 附加组件、使用 Firefox 开发者工具以及其他主题的信息的链接。 -了解如何为 [Firefox](https://www.mozilla.org/firefox/) 创建附加组件、如何开发和构建 Firefox 本身,并了解 Firefox 的内部以及其他子项目如何运作。 +了解如何为 [Firefox](https://www.mozilla.org/zh-CN/firefox/) 创建附加组件、如何开发和构建 Firefox 本身,并了解 Firefox 的内部以及其他子项目如何运作。 ## 主要资源 @@ -30,37 +30,37 @@ Firefox 通过 5 个**更新通道**进行发布。 每天晚上,我们都使用 [mozilla-central](https://hg.mozilla.org/mozilla-central/) 中的最新代码构建 Firefox。这些版本适用于开发者或想要尝试最新的、处于活跃开发中的特性的使用者。 -[下载 Firefox Nightly](https://www.mozilla.org/firefox/channel/desktop/#nightly) +[下载 Firefox Nightly](https://www.mozilla.org/zh-CN/firefox/channel/desktop/#nightly) ### Firefox 开发者版 这是一个为开发者量身定做的 Firefox 版本。Firefox 开发者版拥有所有已经达到测试版(beta)的最新的开发者工具。我们还为开发者添加了一些额外的、仅在这个更新通道提供的特性。它使用自己的路径和配置文件,因此它可以与标准版或 Beta 版 Firefox 一起运行。 -[下载 Firefox 开发者版](https://www.mozilla.org/firefox/developer/) +[下载 Firefox 开发者版](https://www.mozilla.org/zh-CN/firefox/developer/) ### Firefox Beta 每隔四个星期,我们就会选取足够稳定的特性,创建一个新的 Firefox Beta 版本。Firefox Beta 版是为 Firefox 爱好者提供的,用于测试注定会成为下一个 Firefox 标准版本的内容。 -[下载 Firefox Beta](https://www.mozilla.org/firefox/channel/#beta) +[下载 Firefox Beta](https://www.mozilla.org/zh-CN/firefox/channel/desktop/#beta) ### Firefox 当在 Beta 频道中稳定四周之后,我们便发布 Firefox 的新版本,将新特性推送至数亿用户。 -[下载 Firefox](https://www.mozilla.org/firefox/new/) +[下载 Firefox](https://www.mozilla.org/zh-CN/firefox/new/) ### Firefox 延长支持版(ESR) Firefox 延长支持版是在较长周期提供支持的桌面版 Firefox,适用于学校、大学、商业机构等组织以及需要延长支持用以进行大规模部署的用户。 -[下载 Firefox 延长支持版](https://www.mozilla.org/firefox/all/#product-desktop-esr) +[下载 Firefox 延长支持版](https://www.mozilla.org/zh-CN/firefox/all/#product-desktop-esr) ## 内容 -{{LandingPageListSubpages}} +{{SubpagesWithSummaries}} ## 参见 - [邮件列表](https://groups.google.com/a/mozilla.org/g/firefox-dev) -- [发布时间表](https://wiki.mozilla.org/Release_Management/Calendar) +- [发布时间表](https://whattrainisitnow.com/calendar/) diff --git a/files/zh-cn/mozilla/index.md b/files/zh-cn/mozilla/index.md index f8ff2fc96f1ad9..197f013997f5ad 100644 --- a/files/zh-cn/mozilla/index.md +++ b/files/zh-cn/mozilla/index.md @@ -1,10 +1,12 @@ --- title: Mozilla slug: Mozilla +l10n: + sourceCommit: 514d1d2690c6374cd65921193ff6b166677395fd --- {{FirefoxSidebar}} 下面的文章中包含了下载和构建 Mozilla 程序代码的指引。此外,你也可以找到一些有助理解代码如何运作、如何构建 Mozilla 应用程序的附加组件之类的文章。 -{{LandingPageListSubpages}} +{{SubpagesWithSummaries}} diff --git a/files/zh-cn/web/performance/index.md b/files/zh-cn/web/performance/index.md index 3b753eb4994e4b..052c49e265a903 100644 --- a/files/zh-cn/web/performance/index.md +++ b/files/zh-cn/web/performance/index.md @@ -2,7 +2,7 @@ title: Web 性能 slug: Web/Performance l10n: - sourceCommit: 035dd5ef748061d1997c1c79f972781dd680dfa4 + sourceCommit: 514d1d2690c6374cd65921193ff6b166677395fd --- {{QuickLinksWithSubPages}} @@ -15,7 +15,7 @@ Web 性能是客观的衡量标准,是用户对加载时间和运行时的直 ## 关键性能指南 -{{LandingPageListSubpages}} +{{SubpagesWithSummaries}} ## 初学者教程 @@ -63,16 +63,17 @@ MDN [Web 性能学习专区](/zh-CN/docs/Learn/Performance)有着涵盖性能要 - [客户端提示](/zh-CN/docs/Web/HTTP/Client_hints) - {{glossary('Code splitting', '代码拆分')}} - {{glossary('CSSOM')}} +- {{glossary('CLS', '累计布局偏移')}} - {{glossary('Domain sharding', '域名分片')}} - {{glossary('Effective connection type', '有效连接类型')}} -- {{glossary('First contentful paint', '首次内容绘制')}} +- {{glossary('First Contentful Paint', '首次内容绘制')}} - {{glossary('First CPU idle', '首次 CPU 空闲')}} -- {{glossary('First input delay', '首次输入延迟')}} -- {{glossary('First meaningful paint', '首次有效绘制')}} -- {{glossary('First paint', '首次绘制')}} +- {{glossary('First Paint', '首次绘制')}} - {{glossary('HTTP')}} - {{glossary('HTTP_2', 'HTTP/2')}} +- {{glossary('Interaction to Next Paint', '交互到下次绘制')}} - {{glossary('Jank', '卡顿')}} +- {{glossary('Largest Contentful Paint', '最大内容绘制')}} - {{glossary('Latency', '延迟')}} - {{glossary('Lazy load', '懒加载')}} - {{glossary('Long task', '长任务')}} diff --git a/files/zh-cn/web/xml/index.md b/files/zh-cn/web/xml/index.md index 38b222f13b2e43..140ac3a57b58c9 100644 --- a/files/zh-cn/web/xml/index.md +++ b/files/zh-cn/web/xml/index.md @@ -2,11 +2,11 @@ title: XML:可扩展标记语言 slug: Web/XML l10n: - sourceCommit: b6f343538eac4a803943b4e99b0c0545b372645a + sourceCommit: 514d1d2690c6374cd65921193ff6b166677395fd --- {{QuickLinksWithSubpages("/zh-CN/docs/Web/XML")}} **可扩展标记语言**(XML)是可由[文档对象模型(DOM)](/zh-CN/docs/Web/API/Document_Object_Model)严格序列化的一种语言。 -{{LandingPageListSubpages}} +{{SubpagesWithSummaries}} From a854b9050275143c5507a5e17a3c7529739e819d Mon Sep 17 00:00:00 2001 From: "Dr.XYZ" <121708493+Dr-XYZ@users.noreply.github.com> Date: Thu, 19 Dec 2024 13:38:50 +0800 Subject: [PATCH 20/20] [zh-TW]: update Games/Introduction (#24993) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: A1lo --- files/zh-tw/games/introduction/index.md | 140 ++++++++++++++++-------- 1 file changed, 92 insertions(+), 48 deletions(-) diff --git a/files/zh-tw/games/introduction/index.md b/files/zh-tw/games/introduction/index.md index 3fe610046fd592..3314f9a1c4d054 100644 --- a/files/zh-tw/games/introduction/index.md +++ b/files/zh-tw/games/introduction/index.md @@ -1,70 +1,114 @@ --- title: Web 遊戲開發介紹 slug: Games/Introduction +l10n: + sourceCommit: e72890bafe775a38620def9a74beda8cf9c47411 --- -{{GamesSidebar}}現有 Web 環境已成為多元的平台,不只可建構令人驚艷的高品質遊戲,也是發佈這些遊戲的重要媒介。可供撰寫的遊種類...... +{{GamesSidebar}} -現有的 Web 技術再搭配最新版瀏覽器,就能打造出絕佳的 Web 遊戲,而且我們講的可不是用 Flash® 寫的簡單卡牌遊戲,或是多人的社交遊戲而已。卻是可打趴一堆平面遊戲的 3D 動作射擊或角色扮演遊戲。多虧 [JavaScript](/zh-TW/docs/Web/JavaScript) 的即時 (Just-in-time,JIT) 技術與新 API 雙雙大幅提升其效能,你所撰寫的遊戲已可於瀏覽器 (或支援 [HTML5](/zh-TW/docs/Glossary/HTML5) 的裝置) 中執行,卻又不致犧牲任何效能。 +現代 Web 已迅速成為不僅能創造令人驚嘆的高品質遊戲,也是發佈這些遊戲的重要媒介。 -## HTML5 遊戲平台 +透過現代 Web 技術和最新的瀏覽器,創造媲美桌機和原生作業系統的遊戲已成為可能。這不僅僅是簡單的卡片遊戲或社交多玩家遊戲,而是 3D 動作射擊遊戲、角色扮演遊戲(RPG)等更多類型。隨著 [JavaScript](/zh-TW/docs/Web/JavaScript) 即時編譯技術和新 API 的性能大幅提升,你可以在瀏覽器或 [HTML5](/zh-TW/docs/Glossary/HTML5) 支援的設備上打造無需妥協的遊戲體驗。 -如同 Mozilla 常說的「Web 即是平台」,你可將 Web 想像為較佳的遊戲平台。接著就來看看 Web 平台的核心: +## HTML 遊戲平台 -| 功能 | 技術 | -| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **音效** | [Web Audio API](/zh-TW/docs/Web/API/Web_Audio_API) | -| **圖形** | [WebGL](/zh-TW/docs/Web/API/WebGL_API) ([OpenGL ES](https://www.khronos.org/opengles/) 2.0) | -| **輸入** | [觸控事件](/zh-TW/docs/Web/API/Touch_events)、[Gamepad API](/zh-TW/docs/Web/API/Gamepad_API/Using_the_Gamepad_API)、裝置感測器、[WebRTC](/zh-TW/docs/Web/API/WebRTC_API)、[Full Screen API](/zh-TW/docs/Web/API/Fullscreen_API)、[Pointer Lock API](/zh-TW/docs/Web/API/Pointer_Lock_API) | -| **程式語言** | [JavaScript](/zh-TW/docs/Web/JavaScript)(或 C/C++ 可透過[Emscripten](https://github.com/kripken/emscripten/wiki) 編譯為 JavaScript) | -| **網路連線** | [WebRTC](/zh-TW/docs/Web/API/WebRTC_API) 及/或 [WebSockets](/zh-TW/docs/Web/API/WebSockets_API) | -| **儲存功能** | [IndexedDB](/zh-TW/docs/Web/API/IndexedDB_API) 或雲端 | -| **Web** | [HTML](/zh-TW/docs/Web/HTML)、[CSS](/zh-TW/docs/Web/CSS)、[SVG](/zh-TW/docs/Web/SVG)(還有更多!) | +你可以真正將 Web 視為遊戲的理想目標平台。正如我們所說的:「Web 就是平台。」以下是 Web 平台的核心技術: -## 商業案例 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
功能技術
音效Web 音頻 API
圖形 + WebGLOpenGL ES 2.0) +
輸入 + 觸控事件Gamepad API、裝置感測器、WebRTC全螢幕 API指標鎖定 API +
語言 + JavaScript 或使用 Emscripten 將 C/C++ 編譯為 JavaScript +
網路 + WebRTC 和/或 WebSocket +
儲存 + IndexedDB 或「雲端」 +
Web + HTMLCSSSVG(以及更多!) +
-不論你是獨立或大型遊戲工作室的開發者,你都應該將 Web 作為自己下一個遊戲專案的系統。先來看看 Web 能對你提供多少優勢: +## 商業理由 -1. Web 無遠弗屆,而用 HTML5 撰寫的遊戲可自由在桌機、平板電腦、智慧電視、智慧型手機上執行。 -2. 可獲得更好的行銷與露出機會。你不再限制於某個 App 商店才能推廣自己的 App;反而能透過 Web 上的所有媒體推銷遊戲,並利用 Web 的串連與分享效率接觸到新客戶。 -3. 你能控制「付款」這個重要的作業。之前只要你的遊戲放在某個生態系統中,就必須支付超過 30% 的收益給該系統。但現在你可選擇自己喜歡的 App 訂價與付款服務。 -4. 同樣的,你也能自行控制 App 的更新頻率,而不再需要枯等別人審核你的重要修正檔,還不知道今天還明天才能上架。 -5. 控制你的分析方式!你能蒐集自己所需的資料,或可選擇你所愛用的第三方,進而獲得你的銷售資訊以及所觸及的消費族群;不需再讓別人幫你決定分析方法。 -6. 你能進一步管理自己與消費者之間的關係,不再受限於 App 商城的機制而取得篩選過的反饋意見。也不需再經過中間人,就能以自己的方式和消費者直接交流。 -7. 玩家隨時隨地都能暢玩你的遊戲。因為 Web 無所不在,消費者能在自己的手機、平板電腦、家裡桌機、辦公室電腦,或任何地方觀看遊戲進度。 +作為遊戲開發者,不論是個人還是大型遊戲工作室,你可能想知道為何應該將 Web 作為下一個遊戲項目的目標平台。以下是 Web 能為你帶來的優勢: -## 遊戲開發者所應知道的 Web 技術 +1. Web 的覆蓋範圍極大,幾乎無處不在。使用 HTML 製作的遊戲可在智慧型手機、平板電腦、PC 和智慧電視上運行。 +2. 行銷和曝光度提升。你不再需要將應用程式局限於某個應用程式商店,而是可以利用 Web 的固有連結性和可分享性,在網路和其他媒體上推廣你的遊戲。 +3. 在付款方面,你擁有更多控制權。你不需要因為遊戲在他人的生態系統中而放棄 30% 的收入,而是可以自由定價並選擇任何支付處理服務。 +4. 隨時更新遊戲,而不必等待其他公司內部人員批准你的更新是否能及時發佈。 +5. 管理自己的分析數據,而非依賴於第三方。你可以選擇最適合的工具來收集銷售數據和遊戲覆蓋範圍。 +6. 直接與用戶建立更緊密的關係,不需透過應用商店的有限機制。以你喜歡的方式與用戶互動,無需中間人。 +7. 玩家可以隨時隨地玩遊戲。由於 Web 的普遍性,你的用戶可以在手機、平板電腦、筆記型電腦或桌機上進行遊戲。 -我們要為開發者提供 API 的相關資訊,了解 Web 帶來的絕妙開發功能。 -以下只列舉出其中數項: +## 遊戲開發者應該知道的 Web 技術 -- [Full Screen API](/zh-TW/docs/Web/API/Fullscreen_API) - - : 此簡易 API 可讓遊戲全螢幕運作,提供玩家絕佳的動作體驗。 +給技術愛好者,讓我們深入了解 Web 提供的 API,這些 API 專為遊戲開發者設計。以下是詳細的清單,展示 Web 技術可以做到什麼: + +- [Fetch API](/zh-TW/docs/Web/API/Fetch_API) + - : 用來從 Web 伺服器發送和接收各種數據,例如下載新遊戲關卡和美術素材,或傳輸非即時的遊戲狀態資訊。 +- [全螢幕 API](/zh-TW/docs/Web/API/Fullscreen_API) + - : 這個簡單的 API 讓你的遊戲可以全螢幕顯示,從而讓玩家更加沉浸於遊戲體驗中。 - [Gamepad API](/zh-TW/docs/Web/API/Gamepad_API/Using_the_Gamepad_API) - - : 如果要讓遊戲搭配搖桿或其他類型的控制器,就用這個 API。 -- [HTML](/zh-TW/docs/Web/HTML) 與 [CSS](/zh-TW/docs/Web/CSS) - - : 這兩種技術可用以建立遊戲的使用者介面,並設定其風格與配置方式。部分的 HTML 即為 {{HTMLElement("canvas")}} 元素,可直接建構 2D 圖形。 + - : 如果你希望玩家能使用遊戲把手或其他遊戲設備進行遊戲,這是必要的 API。 +- [HTML](/zh-TW/docs/Web/HTML) 和 [CSS](/zh-TW/docs/Web/CSS) + - : 這兩項技術可以幫助你構建、設計和佈局遊戲的用戶界面。其中 HTML 的 {{HTMLElement("canvas")}} 元素是進行 2D 圖形處理的一種方法。 - [HTML audio](/zh-TW/docs/Web/HTML/Element/audio) - - : {{HTMLElement("audio")}} 元素可輕鬆播放簡易音效與音樂。如果需要進一步效果,可參閱 [Web Audio API](/zh-TW/docs/Web/API/Web_Audio_API) 達到真正的音訊處理效能! + - : {{HTMLElement("audio")}} 元素可讓你輕鬆播放簡單的音效和音樂。如果有更高的需求,請參考 [Web 音頻 API](/zh-TW/docs/Web/API/Web_Audio_API) 以獲取更強大的音頻處理能力! - [IndexedDB](/zh-TW/docs/Web/API/IndexedDB_API) - - : 此強大的資料儲存 API,可將使用者的資料保存於電腦或其他裝置之上,亦可於本端儲存遊戲資料與其他資訊;如此可避免每次都需再下載資料一次。即使目前處於無網路連線的狀態 (例如飛機上長達數個小時的旅程...),也同樣可以玩遊戲 。 + - : 一個強大的數據存儲 API,可以在用戶的設備上存儲遊戲數據(例如遊戲狀態等)從而避免每次都需要下載資料。這也能幫助你的遊戲在用戶無法連接網路時(例如長時間飛行時)仍能正常運行。 - [JavaScript](/zh-TW/docs/Web/JavaScript) - - : JavaScript 就是 Web 上使用的程式語言,可於現有瀏覽器上達到絕佳速度,且目前還在不斷的提升。你可寫出遊戲的程式碼,或可透過如 [Emscripten](https://github.com/kripken/emscripten/wiki) 或 [Asm.js](http://asmjs.org/spec/latest/) 的技術,輕鬆移植現有的遊戲。 + - : JavaScript 是 Web 上的程式語言,現代瀏覽器中其速度非常快,並且還在不斷提升。你可以利用其強大功能來編寫遊戲代碼,或者使用 [Emscripten](https://github.com/emscripten-core/emscripten/wiki) 或 [Asm.js](http://asmjs.org/spec/latest/) 技術輕鬆移植現有遊戲。 - [Pointer Lock API](/zh-TW/docs/Web/API/Pointer_Lock_API) - - : Pointer Lock API 可鎖定遊戲介面中的滑鼠或其他指向裝置。取代之前的絕對游標定位,現可接收座標差而得到更精確的使用者動作,並避免使用者突然在他處輸入,卻遺漏了重要動作。 -- [SVG](/zh-TW/docs/Web/SVG) (Scalable Vector Graphics,[可縮放向量圖形](/zh-TW/docs/Web/SVG)) - - : 可建構向量圖形,根據裝置畫面的解析度而順暢調整。 -- [Typed Array(具型別陣列)](/zh-TW/docs/Web/JavaScript/Guide/Typed_arrays) - - : JavaScript 的具型別陣列,可讓你在 JavaScript 中存取原始的二進位資料。如此可讓你設定 GL 紋理 (Texture)、遊戲資料,或其他物件。甚至非原生 JavaScript 格式的亦可處理。 -- [Web Audio API](/zh-TW/docs/Web/API/Web_Audio_API) - - : 此 API 可透過 JavaScript 程式碼控制音訊的回播、合成、操作等作業,讓你建構絕妙音效並即時播放音樂。 + - : 該 API 讓你可以鎖定鼠標或其他指標設備,使其在遊戲界面內運作,從而提供精確的操作,並防止用戶意外將輸入導向其他地方。 +- [SVG](/zh-TW/docs/Web/SVG)(可縮放向量圖形) + - : 讓你構建的向量圖形可以根據顯示器的大小或解析度平滑縮放。 +- [型別陣列](/zh-TW/docs/Web/JavaScript/Guide/Typed_arrays) + - : JavaScript 型別陣列讓你能在 JavaScript 中直接處理二進制數據,這適用於操作 GL 紋理、遊戲數據或其他非原生 JavaScript 格式的數據。 +- [Web 音頻 API](/zh-TW/docs/Web/API/Web_Audio_API) + - : 該 API 讓你可以通過 JavaScript 控制音頻播放、合成及處理,實現即時音效及音樂的播放與操作。 - [WebGL](/zh-TW/docs/Web/API/WebGL_API) - - : 可於 Web 內容中建立高效能、硬體加速的 3D (與 2D) 圖像。此為 Web 所支援的 [OpenGL ES](https://www.khronos.org/opengles/) 2.0 實作。 + - : 讓你可以從 Web 內容創建高效能、硬體加速的 3D(及 2D)圖形,這是一種 [OpenGL ES](https://www.khronos.org/opengles/) 2.0 的 Web 支持實現。 - [WebRTC](/zh-TW/docs/Web/API/WebRTC_API) - - : WebRTC (Real-Time Communications) API 可控制音訊與視訊資料 (包含視訊會議),並能在兩名使用者之間來回傳輸其他應用程式的資料。想讓玩家能一邊爆怪物的頭還一邊交談?就用這個 API 吧。 -- [WebSockets](/zh-TW/docs/Web/API/WebSockets_API) - - : WebSocket API 可讓你的 App 或網站連上伺服器,進而即時來回傳輸資料。適用於多人遊戲、聊天服務等。 -- [Web Workers](/zh-TW/docs/Web/API/Web_Workers_API/Using_web_workers) - - : Workers 可讓你分配背景執行緒,執行本身所屬的 JavaScript 程式碼,藉以利用新的多核心處理器。 -- [XMLHttpRequest](/zh-TW/docs/Web/API/XMLHttpRequest) and [File API](/zh-TW/docs/Web/API/File_and_Directory_Entries_API) - - : 整合的 XMLHttpRequest 與 File API,可你從 Web 伺服器接收或傳送所需的任何資料 (別因為「XML」搞混了)。如此能順利下載新的遊戲關卡與圖片,藉以來回傳輸非即時的遊戲狀態資訊。 + - : WebRTC(即時通訊)API 可控制音頻與影片數據,包括視訊會議及應用數據在兩用戶之間的傳輸。如果你希望玩家在摧毀怪物的同時能彼此交談,這就是需要的 API。 +- [WebSocket](/zh-TW/docs/Web/API/WebSockets_API) + - : WebSocket API 讓你的應用或網站可以與伺服器建立實時數據傳輸連接,非常適合多人遊戲、聊天服務等。 +- [Web Worker](/zh-TW/docs/Web/API/Web_Workers_API/Using_web_workers) + - : Workers 讓你能夠啟動執行自己 JavaScript 程式碼的背景執行緒,以充分利用現代多核心處理器的性能。