#POS. NAME
--
-
- Author: AUTHOR -
- Twitter: @TWITTER -
- Website: WEBSITE -
- GitHub: GITHUB -
- More: js13kgames.com/entries/SLUG -
diff --git a/files/ja/_redirects.txt b/files/ja/_redirects.txt
index 63fc00c77caa50..5505d21a9d8233 100644
--- a/files/ja/_redirects.txt
+++ b/files/ja/_redirects.txt
@@ -5,10 +5,10 @@
#
# FROM-URL TO-URL
/ja/docs/AJAX /ja/docs/Web/Guide/AJAX
-/ja/docs/AJAX/Community /ja/docs/Web/Guide/AJAX/Community
-/ja/docs/AJAX/Getting_Started /ja/docs/Web/Guide/AJAX/Getting_Started
-/ja/docs/AJAX:Community /ja/docs/Web/Guide/AJAX/Community
-/ja/docs/AJAX:Getting_Started /ja/docs/Web/Guide/AJAX/Getting_Started
+/ja/docs/AJAX/Community /ja/docs/Web/Guide/AJAX
+/ja/docs/AJAX/Getting_Started /ja/docs/Web/Guide/AJAX
+/ja/docs/AJAX:Community /ja/docs/Web/Guide/AJAX
+/ja/docs/AJAX:Getting_Started /ja/docs/Web/Guide/AJAX
/ja/docs/API /ja/docs/Web/API
/ja/docs/API/Document /ja/docs/Web/API/Document
/ja/docs/API/Document/Document /ja/docs/Web/API/Document/Document
@@ -2136,7 +2136,7 @@
/ja/docs/Learn/Performance/Populating_the_page:_how_browsers_work /ja/docs/Web/Performance/How_browsers_work
/ja/docs/Learn/Server-side/Express_Nodejs/Displaying_data/flow_control_using_async /ja/docs/Learn/Server-side/Express_Nodejs/Displaying_data
/ja/docs/Learn/Server-side/Express_Nodejs/Installing_on_PWS_Cloud_Foundry /ja/docs/orphaned/Learn/Server-side/Express_Nodejs/Installing_on_PWS_Cloud_Foundry
-/ja/docs/Link_prefetching_FAQ /ja/docs/Web/HTTP/Link_prefetching_FAQ
+/ja/docs/Link_prefetching_FAQ /ja/docs/Glossary/Prefetch
/ja/docs/Localization /ja/docs/Glossary/Localization
/ja/docs/Localizing_extension_descriptions /ja/docs/orphaned/Localizing_extension_descriptions
/ja/docs/MDN/About /ja/docs/MDN/Writing_guidelines
@@ -2913,6 +2913,7 @@
/ja/docs/Web/API/Index /ja/docs/Web/API
/ja/docs/Web/API/IndexedDB_API/Basic_Concepts_Behind_IndexedDB /ja/docs/Web/API/IndexedDB_API/Basic_Terminology
/ja/docs/Web/API/IndexedDB_API/Browser_storage_limits_and_eviction_criteria /ja/docs/Web/API/Storage_API/Storage_quotas_and_eviction_criteria
+/ja/docs/Web/API/InstallEvent/activeWorker /ja/docs/Web/API/InstallEvent
/ja/docs/Web/API/LocalFileSystem /ja/docs/Web/API/File_and_Directory_Entries_API
/ja/docs/Web/API/LocalFileSystemSync /ja/docs/Web/API/File_and_Directory_Entries_API
/ja/docs/Web/API/Location/password /ja/docs/Web/API/Location
@@ -3475,7 +3476,7 @@
/ja/docs/Web/Apps/Progressive/Add_to_home_screen /ja/docs/Web/Progressive_web_apps/Guides/Making_PWAs_installable
/ja/docs/Web/Apps/Progressive/App_structure /ja/docs/Web/Progressive_web_apps/Tutorials/js13kGames/App_structure
/ja/docs/Web/Apps/Progressive/Installable_PWAs /ja/docs/Web/Progressive_web_apps/Tutorials/js13kGames/Installable_PWAs
-/ja/docs/Web/Apps/Progressive/Introduction /ja/docs/Web/Progressive_web_apps/Tutorials/js13kGames/Introduction
+/ja/docs/Web/Apps/Progressive/Introduction /ja/docs/Web/Progressive_web_apps/Tutorials/js13kGames
/ja/docs/Web/Apps/Progressive/Offline_Service_workers /ja/docs/Web/Progressive_web_apps/Tutorials/js13kGames/Offline_Service_workers
/ja/docs/Web/Apps/Progressive/Re-engageable_Notifications_Push /ja/docs/Web/Progressive_web_apps/Tutorials/js13kGames/Re-engageable_Notifications_Push
/ja/docs/Web/CSP_(Content_Security_Policy) /ja/docs/Web/HTTP/CSP
@@ -3833,6 +3834,9 @@
/ja/docs/Web/Events/vrdisplaydisconnected /ja/docs/Web/API/Window/vrdisplaydisconnect_event
/ja/docs/Web/Events/vrdisplaypresentchange /ja/docs/Web/API/Window/vrdisplaypresentchange_event
/ja/docs/Web/Events/waiting /ja/docs/Web/API/HTMLMediaElement/waiting_event
+/ja/docs/Web/Guide/AJAX/Community /ja/docs/Web/Guide/AJAX
+/ja/docs/Web/Guide/AJAX/Getting_Started /ja/docs/Web/Guide/AJAX
+/ja/docs/Web/Guide/AJAX/WAI_ARIA_Live_Regions_API_Support /ja/docs/Mozilla/Firefox/Releases/3/WAI_ARIA_Live_Regions_API_Support
/ja/docs/Web/Guide/API/Gamepad /ja/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
/ja/docs/Web/Guide/API/Vibration /ja/docs/Web/API/Vibration_API
/ja/docs/Web/Guide/Audio_and_video_delivery/H.264_support_in_Firefox /ja/docs/Web/Guide/Audio_and_video_delivery
@@ -4088,6 +4092,7 @@
/ja/docs/Web/HTTP/Headers/Feature-Policy/xr-spatial-tracking /ja/docs/Web/HTTP/Headers/Permissions-Policy/xr-spatial-tracking
/ja/docs/Web/HTTP/Headers/Set-Cookie2 /ja/docs/Web/HTTP/Headers/Set-Cookie
/ja/docs/Web/HTTP/Index /ja/docs/Web/HTTP
+/ja/docs/Web/HTTP/Link_prefetching_FAQ /ja/docs/Glossary/Prefetch
/ja/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file /ja/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file
/ja/docs/Web/HTTP/Public_Key_Pinning /ja/docs/conflicting/Web/Security/Certificate_Transparency
/ja/docs/Web/HTTP/Response_codes /ja/docs/Web/HTTP/Status
@@ -4417,10 +4422,11 @@
/ja/docs/Web/MathML/Index /ja/docs/Web/MathML
/ja/docs/Web/Media/images/aspect_ratio_mapping /ja/docs/Learn/Performance/Multimedia
/ja/docs/Web/Progressive_web_apps/Add_to_home_screen /ja/docs/Web/Progressive_web_apps/Guides/Making_PWAs_installable
-/ja/docs/Web/Progressive_web_apps/Advantages /ja/docs/Web/Progressive_web_apps/Tutorials/js13kGames/Introduction
+/ja/docs/Web/Progressive_web_apps/Advantages /ja/docs/Web/Progressive_web_apps/Tutorials/js13kGames
/ja/docs/Web/Progressive_web_apps/App_structure /ja/docs/Web/Progressive_web_apps/Tutorials/js13kGames/App_structure
+/ja/docs/Web/Progressive_web_apps/Guides/Structural_overview /ja/docs/Web/Progressive_web_apps
/ja/docs/Web/Progressive_web_apps/Installable_PWAs /ja/docs/Web/Progressive_web_apps/Tutorials/js13kGames/Installable_PWAs
-/ja/docs/Web/Progressive_web_apps/Introduction /ja/docs/Web/Progressive_web_apps/Tutorials/js13kGames/Introduction
+/ja/docs/Web/Progressive_web_apps/Introduction /ja/docs/Web/Progressive_web_apps/Tutorials/js13kGames
/ja/docs/Web/Progressive_web_apps/Loading /ja/docs/Web/Progressive_web_apps/Tutorials/js13kGames/Loading
/ja/docs/Web/Progressive_web_apps/Offline_Service_workers /ja/docs/Web/Progressive_web_apps/Tutorials/js13kGames/Offline_Service_workers
/ja/docs/Web/Progressive_web_apps/Re-engageable_Notifications_Push /ja/docs/Web/Progressive_web_apps/Tutorials/js13kGames/Re-engageable_Notifications_Push
@@ -4429,7 +4435,8 @@
/ja/docs/Web/Progressive_web_apps/Responsive/Mobile_first /ja/docs/Learn/CSS/CSS_layout/Responsive_Design
/ja/docs/Web/Progressive_web_apps/Responsive/Responsive_navigation_patterns /ja/docs/Learn/CSS/CSS_layout/Responsive_Design
/ja/docs/Web/Progressive_web_apps/Responsive/responsive_design_building_blocks /ja/docs/Learn/CSS/CSS_layout/Responsive_Design
-/ja/docs/Web/Progressive_web_apps/Structural_overview /ja/docs/Web/Progressive_web_apps/Guides/Structural_overview
+/ja/docs/Web/Progressive_web_apps/Structural_overview /ja/docs/Web/Progressive_web_apps
+/ja/docs/Web/Progressive_web_apps/Tutorials/js13kGames/Introduction /ja/docs/Web/Progressive_web_apps/Tutorials/js13kGames
/ja/docs/Web/Reference /ja/docs/Web
/ja/docs/Web/Reference/API /ja/docs/Web/API
/ja/docs/Web/Reference/Events /ja/docs/Web/Events
diff --git a/files/ja/_wikihistory.json b/files/ja/_wikihistory.json
index 2aad994a3ae7fd..42e088a2f42747 100644
--- a/files/ja/_wikihistory.json
+++ b/files/ja/_wikihistory.json
@@ -2424,14 +2424,14 @@
"modified": "2020-07-16T22:25:45.204Z",
"contributors": ["silverskyvicto", "mfuji09", "yyss"]
},
+ "Learn/CSS/Howto/Create_fancy_boxes": {
+ "modified": "2020-07-16T22:25:49.512Z",
+ "contributors": ["Wind1808"]
+ },
"Learn/CSS/Howto/Generated_content": {
"modified": "2020-07-16T22:25:47.914Z",
"contributors": ["silverskyvicto", "chrisdavidmills", "teoli", "ethertank"]
},
- "Learn/CSS/Howto/create_fancy_boxes": {
- "modified": "2020-07-16T22:25:49.512Z",
- "contributors": ["Wind1808"]
- },
"Learn/CSS/Styling_text": {
"modified": "2020-07-16T22:25:58.768Z",
"contributors": ["dskmori", "Wind1808", "mfuji09"]
@@ -5145,6 +5145,10 @@
"Taken"
]
},
+ "Mozilla/Firefox/Releases/3/WAI_ARIA_Live_Regions_API_Support": {
+ "modified": "2019-03-18T21:27:30.169Z",
+ "contributors": ["silverskyvicto"]
+ },
"Mozilla/Firefox/Releases/30": {
"modified": "2019-03-23T23:19:52.782Z",
"contributors": ["kohei.yoshino", "yyss", "teoli"]
@@ -20475,43 +20479,6 @@
"Dria"
]
},
- "Web/Guide/AJAX/Community": {
- "modified": "2019-03-30T16:54:59.132Z",
- "contributors": [
- "silverskyvicto",
- "bestinterviewquestion",
- "SphinxKnight",
- "chrisdavidmills",
- "Marsf",
- "Mgjbot",
- "Okome",
- "Shimono"
- ]
- },
- "Web/Guide/AJAX/Getting_Started": {
- "modified": "2020-07-28T22:57:33.766Z",
- "contributors": [
- "eltociear",
- "mfuji09",
- "Uemmra3",
- "chrisdavidmills",
- "ethertank",
- "maco81",
- "Mgjbot",
- "Shoot",
- "Marsf",
- "Taken",
- "Okome",
- "Taken Bot",
- "Diskostu",
- "Yu-raku-an",
- "Shimono"
- ]
- },
- "Web/Guide/AJAX/WAI_ARIA_Live_Regions_API_Support": {
- "modified": "2019-03-18T21:27:30.169Z",
- "contributors": ["silverskyvicto"]
- },
"Web/Guide/API": {
"modified": "2019-11-24T06:54:13.469Z",
"contributors": ["mfuji09", "silverskyvicto", "Uemmra3", "Sheppy"]
@@ -22423,25 +22390,6 @@
"modified": "2020-10-15T22:05:39.038Z",
"contributors": ["mfuji09", "pcw", "kurimaru"]
},
- "Web/HTTP/Link_prefetching_FAQ": {
- "modified": "2020-01-12T13:11:34.893Z",
- "contributors": [
- "mfuji09",
- "silverskyvicto",
- "SphinxKnight",
- "yumetodo",
- "hamasaki",
- "jigs12",
- "ethertank",
- "Marsf",
- "Potappo",
- "Kohei",
- "Mgjbot",
- "Taken",
- "Shimono",
- "Yama"
- ]
- },
"Web/HTTP/Messages": {
"modified": "2020-07-11T01:20:50.882Z",
"contributors": ["mfuji09", "yyss"]
@@ -29264,15 +29212,7 @@
"k-kuwahara"
]
},
- "Web/Progressive_web_apps/Tutorials/js13kGames/App_structure": {
- "modified": "2020-08-07T03:55:19.974Z",
- "contributors": ["mfuji09", "Wind1808", "chrisdavidmills", "silverskyvicto"]
- },
- "Web/Progressive_web_apps/Tutorials/js13kGames/Installable_PWAs": {
- "modified": "2020-08-07T04:55:28.888Z",
- "contributors": ["mfuji09", "Wind1808", "chrisdavidmills"]
- },
- "Web/Progressive_web_apps/Tutorials/js13kGames/Introduction": {
+ "Web/Progressive_web_apps/Tutorials/js13kGames": {
"modified": "2020-02-27T11:44:15.897Z",
"contributors": [
"Uemmra3",
@@ -29284,6 +29224,14 @@
"szk0u"
]
},
+ "Web/Progressive_web_apps/Tutorials/js13kGames/App_structure": {
+ "modified": "2020-08-07T03:55:19.974Z",
+ "contributors": ["mfuji09", "Wind1808", "chrisdavidmills", "silverskyvicto"]
+ },
+ "Web/Progressive_web_apps/Tutorials/js13kGames/Installable_PWAs": {
+ "modified": "2020-08-07T04:55:28.888Z",
+ "contributors": ["mfuji09", "Wind1808", "chrisdavidmills"]
+ },
"Web/Progressive_web_apps/Tutorials/js13kGames/Loading": {
"modified": "2019-11-04T15:24:56.030Z",
"contributors": ["mfuji09", "Wind1808"]
diff --git a/files/ja/learn/css/howto/create_fancy_boxes/index.md b/files/ja/learn/css/howto/create_fancy_boxes/index.md
index c5c0f8b4e63f73..98af1651f5b452 100644
--- a/files/ja/learn/css/howto/create_fancy_boxes/index.md
+++ b/files/ja/learn/css/howto/create_fancy_boxes/index.md
@@ -1,8 +1,6 @@
---
title: 装飾的なボックスの作成
-slug: Learn/CSS/Howto/create_fancy_boxes
-l10n:
- sourceCommit: 8e2641ebe076ab89299c77a51ece882de4ba5efb
+slug: Learn/CSS/Howto/Create_fancy_boxes
---
{{LearnSidebar}}
diff --git a/files/ja/web/guide/ajax/wai_aria_live_regions_api_support/index.md b/files/ja/mozilla/firefox/releases/3/wai_aria_live_regions_api_support/index.md
similarity index 99%
rename from files/ja/web/guide/ajax/wai_aria_live_regions_api_support/index.md
rename to files/ja/mozilla/firefox/releases/3/wai_aria_live_regions_api_support/index.md
index 3428eb69c78ad9..903519517bdc49 100644
--- a/files/ja/web/guide/ajax/wai_aria_live_regions_api_support/index.md
+++ b/files/ja/mozilla/firefox/releases/3/wai_aria_live_regions_api_support/index.md
@@ -1,8 +1,7 @@
---
title: WAI ARIA ライブリージョン/API 対応
-slug: Web/Guide/AJAX/WAI_ARIA_Live_Regions_API_Support
-l10n:
- sourceCommit: 9b38f886d21c5d0a428f58acb20c4d0fc6c2e098
+slug: Mozilla/Firefox/Releases/3/WAI_ARIA_Live_Regions_API_Support
+original_slug: Web/Guide/AJAX/WAI_ARIA_Live_Regions_API_Support
---
> **警告:** これらの注釈は、スクリーンリーダーの開発者向けです。 開発者は、[ARIA ライブリージョン開発者のドキュメント](/ja/docs/Web/Accessibility/ARIA/ARIA_Live_Regions)を使用する必要があります。
diff --git a/files/ja/web/api/installevent/activeworker/index.md b/files/ja/web/api/installevent/activeworker/index.md
deleted file mode 100644
index 73811aa51c2435..00000000000000
--- a/files/ja/web/api/installevent/activeworker/index.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: InstallEvent.activeWorker
-slug: Web/API/InstallEvent/activeWorker
-l10n:
- sourceCommit: 21d3e89589aaf9e5cfa667de679134513ab833f3
----
-
-{{APIRef("Service Workers API")}}{{Deprecated_Header}}{{Non-standard_Header}}
-
-**`activeWorker`** は {{domxref("InstallEvent")}} インターフェイスの読み取り専用プロパティで、このメソッドは、現在ページをアクティブに制御しているサービスワーカー ({{domxref("ServiceWorker")}}) を返します。
-
-すでにページを制御しているアクティブワーカーがいない場合、`null` を返します。
-
-## 値
-
-{{domxref("ServiceWorker")}} オブジェクト。
-
-## 例
-
-```js
-self.addEventListener("install", (event) => {
- const myActiveWorker = event.activeWorker;
-});
-```
-
-## ブラウザーの互換性
-
-{{Compat}}
-
-## 関連情報
-
-- {{jsxref("Promise")}}
-- [フェッチ API](/ja/docs/Web/API/Fetch_API)
diff --git a/files/ja/web/guide/ajax/community/index.md b/files/ja/web/guide/ajax/community/index.md
deleted file mode 100644
index 4945c488ed40ce..00000000000000
--- a/files/ja/web/guide/ajax/community/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title: コミュニティ
-slug: Web/Guide/AJAX/Community
----
-
-AJAX に関する有用なメーリングリスト、ニュースグループ、フォーラム、その他のコミュニティを御存知の場合は、リンクを追加してください。
-
-## AJAX リソース
-
-## AJAX ワークショップとコース
-
-- [skillsmatter.com](https://skillsmatter.com/go/ajax-ria): Courses and events on JavaScript, Ajax, and Reverse Ajax technologies
-- [telerik.com](https://www.telerik.com/forums/aspnet-ajax): An active community forum for Ajax
-- [community.tableau.com](https://community.tableau.com/search.jspa?q=ajax): Community support forum and courses available for Ajax
-- [codementor.io](https://www.codementor.io/community/search?q=ajax): Social platform with Ajax forums and tutorials
-- [lynda.com](https://www.lynda.com/search?q=ajax): Tutorials available for learning the fundamentals of Ajax
-- [Ajax Interview Questions and answer and answer](https://www.onlineinterviewquestions.com/ajax-interview-questions/) Interwiki links
diff --git a/files/ja/web/guide/ajax/getting_started/index.md b/files/ja/web/guide/ajax/getting_started/index.md
deleted file mode 100644
index e41fe800fb23b8..00000000000000
--- a/files/ja/web/guide/ajax/getting_started/index.md
+++ /dev/null
@@ -1,350 +0,0 @@
----
-title: 始めましょう
-slug: Web/Guide/AJAX/Getting_Started
-l10n:
- sourceCommit: 20bbabd48da81dda9d79d123cb1c880c43925719
----
-
-{{QuickLinksWithSubpages("/ja/docs/Web/Guide/AJAX")}}
-
-この記事は AJAX の基礎の概観と、入門のための 2 つの実践的なサンプルを示します。
-
-### AJAX とは?
-
-AJAX は **A**synchronous **J**avaScript **A**nd **X**ML の頭文字を取ったものです。これは一言で言えば、 [`XMLHttpRequest`](/ja/docs/Web/API/XMLHttpRequest) オブジェクトを使ってサーバーと通信することです。 AJAX は JSON, XML, HTML, テキストファイルなど、様々な形式の情報で送受信することができます。 AJAX の最も魅力的な特徴は「非同期」であること、つまり、サーバーとの通信、データの交換、ページの更新を、ページの再読み込みなしに行うことができる点です。
-
-AJAX でできることには、2 つの重要な特徴があります。
-
-- ページを再読み込みすることなくサーバーに要求を送る
-- サーバーからデータを受け取って処理する
-
-## Step 1 – HTTP リクエストの送り方
-
-JavaScript からサーバーに [HTTP](/ja/docs/Web/HTTP) リクエストを送るためには、この機能を提供するオブジェクトのインスタンスが必要になります。これが `XMLHttpRequest` の登場する場所です。
-
-```js
-const httpRequest = new XMLHttpRequest();
-```
-
-リクエストを行った後、レスポンスが返ってきます。この段階で `XMLHttpRequest` オブジェクトに、どの JavaScript 関数がレスポンスを処理するかを指示する必要があります。オブジェクトの `onreadystatechange` プロパティを、以下のようにリクエストの状態が変化したときに呼び出される関数に設定します。
-
-```js
-function handler() {
- // ここでサーバーのレスポンスを処理します。
-}
-
-httpRequest.onreadystatechange = handler;
-```
-
-このとき、関数名の後に括弧や引数がないことに注意してください。実際にその関数を呼び出すのではなく、関数への参照を代入しているからです。また、関数名を設定するのではなく、以下のように関数やレスポンスを処理する動作をその場で定義するという JavaScript の機能(「無名関数」と呼ばれる)を利用することもできます。
-
-```js
-httpRequest.onreadystatechange = () => {
- // ここでサーバーからのレスポンスを処理します。
-};
-```
-
-次に、レスポンスを受け取った後に何をするかを宣言した後で、以下のように HTTP リクエストオブジェクトの `open()` と `send()` 呼び出して、リクエストを作成する必要があります。
-
-```js
-httpRequest.open("GET", "http://www.example.org/some.file", true);
-httpRequest.send();
-```
-
-- `open()` の最初の引数は HTTP リクエストメソッド、つまり、GET、POST、HEAD などのサーバーが対応しているメソッドです。HTTP 標準に準拠するために、メソッド名はすべて大文字にしてください。そうでなければ、ブラウザーによっては(Firefox などでは)リクエストを送信しません。利用可能な HTTP リクエストメソッドに関しての詳細情報については、[仕様書](https://www.rfc-editor.org/rfc/rfc9110.html#name-methods)を確認してください。
-- 第二引数は、リクエストを送信するページの URL です。セキュリティ上の問題から、既定では第三者のドメインの URL を呼び出すことはできません。すべてのページで正確なドメイン名を使用するようにしてください。さもないと、`open()` を呼び出したときに "permission denied" エラーを受け取ることになります。よくある落とし穴は、自分のサイトに `domain.tld` でアクセスしているのに、`www.domain.tld` でページを呼び出そうとすることです。実際に別のドメインにリクエストを送る必要がある場合は、 [HTTP アクセス制御 (CORS)](/ja/docs/Web/HTTP/CORS) を参照してください。
-- 第三引数は、リクエストを非同期 (asynchronous) に送るかどうかを示します。 `true` (既定値)であれば、 JavaScript の実行が継続され、サーバーのレスポンスが届くまでの間もユーザーがページを操作することができます。これが、 AJAX の最初の A です。
-
-`send()` メソッドの引数は、要求を `POST` するときにサーバーに送信したい任意のデータです。フォームデータはサーバーが解釈できる形式、例えばクエリー文字列のような形式の文字列です。
-
-```
-"name=value&anothername="+encodeURIComponent(myVar)+"&so=on"
-```
-
-または、 `multipart/form-data`, JSON, XML など形式にしてください。
-
-なお、データを `POST` する場合、リクエストの MIME タイプを設定する必要がある場合があります。例えば、フォームデータをクエリー文字列として `send()` を呼び出して送る前に、次の文を使用してください。
-
-```js
-httpRequest.setRequestHeader(
- "Content-Type",
- "application/x-www-form-urlencoded"
-);
-```
-
-## Step 2 – サーバーレスポンスの取り扱い
-
-リクエストを送った時に、レスポンスを取り扱う JavaScript 関数の名前を設定しました。
-
-```js
-httpRequest.onreadystatechange = 関数名;
-```
-
-この関数では何を行うべきでしょうか。最初に、この関数ではリクエストの状態を調べる必要があります。状態が `XMLHttpRequest.DONE` (4 に対応)であるなら、サーバーからのレスポンスが完了しており、処理を進められることを意味します。
-
-```js
-if (httpRequest.readyState === XMLHttpRequest.DONE) {
- // すべてが問題ない状態で、レスポンスも返ってきています
-} else {
- // まだ準備ができていません
-}
-```
-
-`readyState` の値の一覧は [XMLHTTPRequest.readyState](/ja/docs/Web/API/XMLHttpRequest/readyState) で文書化されていて、以下のようになっています。
-
-- 0 (初期化前)または(**リクエストが初期化されていません**)
-- 1 (読み込み中)または(**サーバーへの接続が確立されました**)
-- 2 (読み込み完了)または(**リクエストを受信しました**)
-- 3 (対話中)または(**リクエストを処理中です**)
-- 4 (完了)または(**リクエストが完了してレスポンスの準備ができました**)
-
-次に、 HTTP レスポンスの [レスポンスコード](/ja/docs/Web/HTTP#http_response_codes)を調べます。返ってくる可能性があるコードは [W3C](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) でリスト化されています。以下の例では、 AJAX 呼び出しが成功したか失敗したかを {{HTTPStatus("200", "200 OK")}} レスポンスコードをチェックすることで判別します。
-
-```js
-if (httpRequest.status === 200) {
- // 完璧です!
-} else {
- // 何らかの問題が発生しています。
- // たとえば、レスポンスに 404 (Not Found) や
- // 500 (Internal Server Error) レスポンスコードが返っているなど。
-}
-```
-
-リクエストの状態とレスポンスの HTTP 状態コードをチェックした後、サーバーが送信したデータを使って好きなことが何でもできます。データにアクセスするには 2 つの選択肢があります。
-
-- `httpRequest.responseText` – サーバーのレスポンスをテキスト文字列として返します
-- `httpRequest.responseXML` – サーバーのレスポンスを JavaScript DOM 関数で扱える `XMLDocument` オブジェクトとして返します
-
-なお、上記の段階は非同期リクエストを使用した場合(`open()` の第三引数が未指定か `true` に設定されていた場合)のみ有効です。**同期**リクエストを使用した場合は関数を指定する必要はありませんが、これはユーザーの使い勝手をひどく損なうので、避けるべきです。
-
-## Step 3 – 簡単な例
-
-さて、ここまでに紹介した方法を使って簡単な HTTP リクエストを実行してみましょう。われわれの JavaScript では `test.html` という名前の、「これはテストです」と書かれた HTML 文書をリクエストし、その内容を `alert()` で表示します。注意として、この例では vanilla JavaScript を使っています — jQuery は入っていません。また HTML, XML, PHP ファイルは同一ディレクトリに置かれています。
-
-```html
-
-
-
-```
-
-このサンプルでは以下のことを行います。
-
-- ユーザーがブラウザーで「リクエストを実行」をクリックする。
-- イベントハンドラーから `makeRequest()` 関数が呼び出される。
-- リクエストが行われ、(`onreadystatechange`) により `alertContents()` へ処理が渡される。
-- `alertContents()` では、レスポンスを受信していて問題無いかを確認した後、 `alert()` で `test.html` ファイルの中身を表示する。
-
-> **メモ:** リクエストを送信する先が静的な HTML ファイルではなく、 XML を返すコードである場合、 Internet Explorer にレスポンスヘッダーを設定しなければなりません。`Content-Type: application/xml` というヘッダーを設定しなければ、XML 要素にアクセスしようとしている行で IE が "Object Expected" という Javascript エラーを投げるでしょう。
-
-> **メモ:** `Cache-Control: no-cache` ヘッダーを設定しなければ、ブラウザーがレスポンスをキャッシュしてレスポンスを再送信しなくなるため、デバッグが難しくなるでしょう。 GET 引数に、タイムスタンプやランダムな数字のような、常に異なるものを追加する方法もあります ([キャッシュをバイパスする](/ja/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#キャッシュをバイパスする)をご覧ください)
-
-> **メモ:** `httpRequest` 変数をグローバルに使用すると、関数の呼び出しが競合して `makeRequest()` が互いに上書きし合うため、競合状態が発生します。 `httpRequest` 変数を、 AJAX 関数を含んでいる[クロージャ](/ja/docs/Web/JavaScript/Closures)のローカルで宣言することでこれを防ぐことができます。
-
-通信エラーのイベント(サーバーがダウンしたなど)では、レスポンスステータスにアクセスすると `onreadystatechange` メソッドの中で例外が発生します。この問題を防ぐため、 `if...then` 文は必ず `try...catch` で囲むようにしてください。
-
-```js
-function alertContents() {
- try {
- if (httpRequest.readyState === XMLHttpRequest.DONE) {
- if (httpRequest.status === 200) {
- alert(httpRequest.responseText);
- } else {
- alert("リクエストに問題が発生しました");
- }
- }
- } catch (e) {
- alert(`例外を捕捉: ${e.description}`);
- }
-}
-```
-
-### Step 4 – XML レスポンスの扱い
-
-前の例では、 HTTP リクエストへのレスポンスを受け取った後、そのリクエストオブジェクトの `responseText` プロパティを用いて、それに含まれている `test.html` の中身を取得しました。では、次に `responseXML` プロパティのほうを試してみましょう。
-
-はじめに、あとでサーバーにリクエストするための妥当な XML 文書を作成します。 文書 (`test.xml`) ファイルの中身は以下のようなものです。
-
-```html
-
-
Off-Line
-No Data yet
- - - - -``` diff --git a/files/ja/web/http/link_prefetching_faq/index.md b/files/ja/web/http/link_prefetching_faq/index.md deleted file mode 100644 index f92e0663785c54..00000000000000 --- a/files/ja/web/http/link_prefetching_faq/index.md +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: リンク先読みの FAQ -slug: Web/HTTP/Link_prefetching_FAQ ---- - -### リンクの先読みとは? - -リンクの先読みとはブラウザーの機能の一つで、ブラウザーのアイドル時間を使って、ユーザーが近い将来に訪問するであろう文書をダウンロードして、予め読み込んでおくことを指します。まず、Web ページの方から先読みのヒントをブラウザーに渡します。そのページの読み込みが完了すると、ブラウザーは黙って指定された文書を先読みし、キャッシュに蓄積しておきます。ユーザーが先読みされている文書を訪問すると、ブラウザーのキャッシュからすぐに提供できます。 - -### HTTPS でも先読みしますか? - -Gecko 1.9.1 (Firefox 3.5) 以降から HTTPS コンテンツも先読みできます。 - -### 先読みのヒントとは? - -HTML の `link` タグまたは [HTTP の `Link:` ヘッダー](/ja/docs/Web/HTTP/Headers)において、`next`, `prefetch` のいずれかの関係を持つものです。 `link` タグを使う例を以下に示します。 - -``` - -``` - -同じヒントを [HTTP の `Link:` ヘッダー](/ja/docs/Web/HTTP/Headers)を使って表すと次のようになります。 - -``` -Link: ; rel=prefetch -``` - -`Link:` ヘッダーは HTML 文書中からも HTML の `` タグを使って指定できます。 - -``` - -``` - -`Link:` ヘッダーの書式は、 [RFC 2068](http://tools.ietf.org/html/rfc2068) の 19.6.2.4 節で説明されています。 - -ブラウザーはこれらのヒント全てを元に、ブラウザーが使われていない時に先読みするための各リクエストを待ち行列に入れます。1 ページに複数のヒントがあれば、複数の文書に対して先読みを行います。例えば、次の文書としていくつかの大きな画像を指定することもあります。 - -他にも以下のような指定ができます。 - -``` - - -``` - -### アンカータグ(\)の内容も先読みされますか? - -いいえ。 `next` か `prefetch` のリンク形式を持つ `` タグだけが先読みの対象です。しかし、要望が多いようなら、将来的には `next` や `prefetch` の関係を含む `` タグのリンクの先読みにも対応するようになるかもしれません。そうすれば、コンテンツ提供者が先読みリンクを更新し忘れるという問題を回避しやすくなるでしょう。 - -### リンクの先読み機能は標準に準拠していますか? - -はい。ここで述べているリンクの先読み機能は、既存のウェブ標準に違反していません。実際、HTML 4.01 仕様書では新たなリンク形式の定義が明確に許されています([Section 6.12: Link types を参照](http://www.w3.org/TR/html4/types.html#type-links))。しかし、Mozilla で採用した手法自体はまだ標準化されていません。 Internet Draft を現在準備中です。 - -この手法の標準化は HTML5 の範囲の一部です。現在のワーキングドラフトの [section §5.11.3.13. Link type "prefetch"](https://www.whatwg.org/specs/web-apps/current-work/#link-type-prefetch) を参照してください。 - -### ブラウザーのアイドル時間はどのように判定されますか? - -現在の実装(Mozilla 1.2)では、アイドル時間は `nsIWebProgressListener` API を用いて判定されます。トップレベルの `nsIWebProgress` オブジェクトにリスナーを追加しました("@[mozilla.org/docloaderservice;1](http://mozilla.org/docloaderservice;1)")。このリスナーから、文書の開始と停止の通知を受け取って、前の文書の停止と次の文書の開始の間の時間をアイドル時間として概算します。前の文書の停止通知は、大まかに言って、トップレベル文書の onLoad ハンドラが起動した時に行われます。この時が先読みリクエストを行う時になります。サブフレームが先読みのヒントを含む場合にも、先読みは最上位のフレームとその「子」フレームの読み込みが終了するまで始まりません。 - -### 先読みの取得中に別のリンクをクリックするとどうなりますか? - -ユーザーがリンクをクリックしたり、何らかの種類のページ読み込みを発生させたりすると、先読みは停止し、先読みのヒントは捨てられます。先読みしている文書が部分的にダウンロードされている場合は、途中までの文書をサーバから送られた "Accept-Ranges: bytes" レスポンスヘッダー付きでキャッシュに蓄積されます。このヘッダーは、大抵、ウェブサーバが静的なコンテンツを提供する際に生成するものです。ユーザーが先読みした文書を実際に訪問する際には、その文書の残りの部分を HTTP の byte-range リクエストを使って取得します。 - -### バックグラウンドで何かをダウンロードしている場合はどうですか? リンクの先読み機能は回線容量を奪い合いますか? - -「イエス」であり、「ノー」でもあります。まず、Mozilla を使って何かをダウンロードしている場合は、全てのダウンロードが終わるまでリンクの先読み機能を遅らせます。例えば、ブックマーク・グループを読み込んでいる(複数のタブを開く)場合には、そのブックマークされたページで発生した先読みリクエストは、全てのタブがロードし終わるまで、開始されません。一方、別のアプリケーションがネットワークを使っている場合は、Mozilla のリンクの先読みはその他のアプリケーションと回線容量を奪い合います。将来的には、ネットワークのアイドル時間を監視するオペレーティングシステムのサービスを利用して、この問題を解決したいと思っています - -### 先読みできるものに何か制限はありますか? - -はい。List of games submitted to the - A-Frame category in the js13kGames 2017 - competition. You can - fork js13kPWA on GitHub to check its source code.
- -