/
314.txt
45 lines (36 loc) · 3.12 KB
/
314.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
* 仕様書
[REFS[
- [2] '''[CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2014-08-06 23:12:09 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#concept-appcache-init>'''
- [1] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2014-08-06 23:12:09 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#the-before-html-insertion-mode>
- [3] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2014-08-06 23:12:09 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#read-xml>
- [4] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2014-08-06 23:12:09 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#read-text>
- [5] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2014-08-06 23:12:09 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#read-media>
- [6] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2014-08-06 23:12:09 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#read-plugin>
- [7] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2014-08-06 23:12:09 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#read-ua-inline>
]REFS]
* 呼び出し
[8] この[[アルゴリズム]]は、[[HTML構文解析器]]または[[XML構文解析器]]によって[[根要素]]が[[文書に挿入]]される時
[SRC[>>1, >>3]] または [[navigate]] によってダミーの [CODE(DOMi)@en[[[Document]]]]
が作られた時 [SRC[>>4, >>5, >>6, >>7]] に呼び出されます。
[9] 次の場合には、指定された [[URL]] がこの[[アルゴリズム]]の[[入力]]である[[キャッシュマニフェスト]]として使われます。
[FIG(list)[
- [10] [[navigate]] 中の[[構文解析器]]から呼び出された
- [11] [[根要素]]が [CODE(HTMLe)@en[[[html]]]] [[要素]]
- [12] その[[要素]]に [CODE(HTMLa)@en[[[manifest]]]] [[属性]]がある
- [13] その値が[[空文字列]]でない
- [14] その値を [[URLとして解決]]して失敗しない
]FIG]
[15] それ以外の場合は、[[キャッシュマニフェスト]]なしが[[入力]]となります。
* 処理の同期
[16] [[構文解析]]中の[[文書]]が [[AppCache]] 由来の場合には、
[[同期的]]に処理が行われます。
そうでなく[[キャッシュマニフェスト]]が指定されている場合は、
[[application cache download process]] が[[非同期的]]に実行されます。
[17] ダウンロード処理が実行される場合、 [[AppCache]]
が[[文書]]に関連付けられて有効になるタイミングは[[構文解析器]]の動作とは完全に独立しています。
[[構文解析器]]によって [CODE(HTMLe)@en[[[img]]]] [[要素]]などが挿入されたり、
[[スクリプト]]が実行されたりして [[fetch]] が発生したり、
あるいは ([[スクリプト]]、[[利用者]]、あるいは[[構文解析器]]自体により)
新たに [[navigate]] が発生したりする場合もありますが、
いずれにせよ、 [[AppCache]] がその際に使われるかどうかは予測不能です。
;; [[利用者エージェント]]が [[AppCache]] を使うか[[利用者]]の確認を得ることも認められています。