/
696.txt
468 lines (367 loc) · 24.1 KB
/
696.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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
[15] [DFN[[CODE(JS)@en[[[document.all]]]]]] は、[[文書]]中のすべての[[要素]]を含む[[コレクション]]です。
この[[オブジェクト]]は [[IE4 DOM]] の一部であり、現在では[[廃止]]状態とされています [SRC[>>14]] が、
[[Webブラウザー]]が実装しなければならない [SRC[>>14]] 機能の一つとされており、
すべての [[Webブラウザー]]が対応しています。
* 仕様書
[REFS[
- [14] '''[CITE@en-US-x-hixie[HTML Standard]] ([TIME[2014-04-03 03:44:44 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#dom-document-all>'''
- [13] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2016-03-10 07:13:01 +09:00]] 版) <https://html.spec.whatwg.org/#htmlallcollection>
- [60] [CITE@en[DOM Standard]] ([TIME[2016-03-07 17:31:44 +09:00]] 版) <https://dom.spec.whatwg.org/#htmlcollection>
]REFS]
* [CODE(DOMi)@en[Document]] オブジェクト [CODE(DOMa)@en[all]] 属性 (DOM)
[16] [CODE(DOMi)@en[[[Document]]]] [[インターフェイス]]の [CODE(DOMa)@en[[[all]]]] [[属性]]は、
[CODE(DOMi)@en[[[HTMLAllCollection]]]] [[オブジェクト]]を返す[[読み取り専用]]の[[IDL属性]]です。
この[[オブジェクト]]は当該 [CODE(DOMi)@en[[[Document]]]] を[[根]]とし、
すべての[[要素]]に[[一致]]する[[フィルター]]を持つものでなければ[['''なりません''']]。
[SRC[>>14]]
[37] この[[属性]]は、毎回同じオブジェクトを返します ([CODE(IDL s)@en[SameObject]])。
つまり[[文書]]にはちょうど1つだけ [CODE(DOMa)@en[[[all]]]] [[オブジェクト]]が存在します。
* [CODE(DOMi)@en[HTMLAllCollection]] インターフェイス (DOM)
[23] [DFN[[CODE(DOMi)@en[HTMLAllCollection]]]] [[オブジェクト]]は、
[CODE(JS)@en[document.all]] [[IDL属性]]で用いられる[[コレクション]]です。
;; [58] [[HTML Standard]] は [CODE(DOMi)@en[HTMLAllCollection]]
が[[コレクション]]だと (なぜか) 明記はしていませんが、
[CODE(DOMi)@en[HTMLCollection]] と似ている [SRC[>>13]]
とし、[[コレクション]]の用語を使って規定されています。
[27] [CODE(DOMi)@en[HTMLAllCollection]]
[[インターフェイス]]は[[文書環境]]で [[JavaScriptに晒され]]ています [SRC[>>13]]。
[38] この[[オブジェクト]]は[[生きて]]おり、[[DOM木]]に対する変更が即時反映されます。
;; [45] かつては [CODE(DOMi)@en[[[HTMLCollection]]]] を[[継承]]していましたが、
現在は独立しています [SRC[>>44]]。
** メンバー
[24] [CODE(DOMi)@en[[[HTMLAllCollection]]]] には、[[継承]]するものも含めて次のメンバーがあります。
[FIG(middle list)[
- [CODE(DOMm)@en[item][item (DOM)]]
- [CODE(DOMa)@en[length][length (DOM)]]
- [CODE(DOMm)@en[[[namedItem]]]]
- [[supported property indices]]
- [[supported property names]]
- [[legacy caller]]
]FIG]
[57] [CODE(DOMa)@en[length]] [[IDL特性]]以外は、すべて、
[[索引]]や[[名前]]で[[要素]]を取得するものです。
つまり、次のような方法で[[要素]]にアクセスできます。
[FIG(list middle)[
- [CODE(JS)@en[document.all [ [VAR[索引]] ] ][indexed getter]]
- [CODE(JS)@en[document.all [ [VAR[名前]] ] ][named getter]]
- [CODE(JS)@en[document.all ( [VAR[索引]] ) ][legacycaller]]
- [CODE(JS)@en[document.all ( [VAR[名前]] ) ][legacycaller]]
- [CODE(JS)@en[document.all.item ( [VAR[索引]] ) ][item (DOM)]]
- [CODE(JS)@en[document.all.item ( [VAR[名前]] ) ][item (DOM)]]
- [CODE(JS)@en[document.all.namedItem ( [VAR[名前]] ) ][namedItem]]
]FIG]
* JavaScript 束縛
[94] [CODE[HTMLAllCollection]] [[インターフェイス]]を[[実装]]する[[オブジェクト]]は、
[[legacy platform object]] です [SRC[[CITE[HTML Standard]]]]。
[59] [CODE(DOMi)@en[HTMLAllCollection]]
[[オブジェクト]]には、 [[JavaScript]] にて他の[[プラットフォームオブジェクト]]とは異なる特別な取り扱いが規定されています。
すなわち、 [CODE(DOMi)@en[HTMLAllCollection]]
[[オブジェクト]]は、
[F(ss)[IsHTMLDDA]] [[内部スロット]]を持ちます [SRC[[CITE[HTML Standard]]]]。
[17] [CODE(JS)@en[[[document.all]]]] [[オブジェクト]]に [[JavaScript]] [CODE(JS)@en[[[ToBoolean()]]]]
[[演算]]を適用すると、[[偽]]を返さなければ[['''なりません''']]。 [SRC[>>14]]
[18] [CODE(JS)@en[[[document.all]]]] [[オブジェクト]]に [[JavaScript]] の[[抽象等値性比較]]
([CODE(JS)@en[[[==]]]] や [CODE(JS)[[[!=]]]]
の[[演算子]]) を適用すると、[CODE(JS)@en[[[undefined]]]] や [CODE(JS)@en[[[null]]]]
と同じように振る舞わなければ[['''なりません''']]。 [SRC[>>14]]
;; [19] [CODE(JS)[[[===]]]] や [CODE(JS)[[[!==]]]] に関しては、普通の[[オブジェクト]]と同じように振る舞います。
[20] [CODE(JS)@en[[[document.all]]]] [[オブジェクト]]に [[JavaScript]] の [CODE(JS)@en[[[typeof]]]]
[[演算子]]を適用すると、[[文字列]] [CODE(JS)@en[[[undefined]]]] を返さなければ[['''なりません''']]。 [SRC[>>14]]
[21] これらの要件は、通常の[[オブジェクト]]の動作とは異なりますが、歴史的経緯のために必要
[SRC[>>14]] とされています。
[HISTORY[
[22] かつて [CODE(JS)@en[[[document.all]]]] は [[IE]] のみが実装していたため、 [[IE]]
であるかどうかの判別に用いられることがありました。すなわち、
[PRE(JS example code)[
if (document.all) {
// for IE
} else {
// for non-IE
}
]PRE]
... で [[IE]] 以外の[[近代的ブラウザー]]は後者が実行される必要がありました。一方で、 [[IE]]
のみに対応していて [CODE(JS)@en[[[document.all]]]] が実装されていなければ動作しない
[[Webサイト]]も存在していました。この両方のパターンに対応するため、 [CODE(JS)@en[[[document.all]]]]
[[オブジェクト]]は条件式においては [CODE(JS)@en[[[undefined]]]] と同じように動作する実装がなされました。
現在では [[IE]] も[[近代的ブラウザー]]と [[HTML Standard]] に従っています。
]HISTORY]
* 索引による要素へのアクセス
[61] [CODE(DOMi)@en[HTMLAllCollection]] の [[supported property indices]]
は、 [CODE(DOMi)@en[HTMLCollection]] の場合と同じです [SRC[>>13]]。
つまり、
[ 0, 当該[[コレクションにより表現される]][[要素]]の数 - 1 ]
の[[範囲]]の[[整数]]です [SRC[>>60]]。
;; [62] 従って、 [VAR[n]] を 0 [[以上]]、[[文書]]中の[[要素]]数 - 1
の[[整数]]とするとき、 [CODE(JS)@en[document.all [ [VAR[n]] ] ][indexed getter]]
が存在し、それ以外の[[整数]] [VAR[n]] については存在しません。
[78] [CODE(DOMi)@en[HTMLAllCollection]] の [[indexed getter]] は、
次のようにしなければ[MUST[なりません]] [SRC[>>13]]。
[FIG(steps)[
= [79] [[get the "all"-indexed element]] を実行した結果を返します。
ただし[VAR[コレクション]]は[[文脈オブジェクト]]、
[VAR[索引]]は与えられた[[索引]]とします。
]FIG]
[67] [CODE(DOMi)@en[HTMLAllCollection]] [VAR[コレクション]]と[[索引]][VAR[索引]]について
[DFN[get the "all"-indexed element]] とは、次のようにすることです [SRC[>>13]]。
[FIG(steps)[
= [68] [VAR[コレクション]]に含まれる[[要素]]で[VAR[索引]]番目のものがあれば、
== [69] [VAR[コレクション]]に含まれる[[要素]]で[VAR[索引]]番目のものを返します。
= [70] それ以外なら、
== [71] [[null]] を返します。
]FIG]
[66] [CODE(DOMi)@en[HTMLAllCollection]] [[インターフェイス]]の
[CODE(DOMa)@en[length][length (DOM)]] [[IDL属性]]は、
[[取得時]]、[[文脈オブジェクト]]である[[コレクションにより表現]]される[[要素]]の数を返さなければ[MUST[なりません]]
[SRC[>>13]]。
* 名前による要素へのアクセス
[35] [CODE(HTMLi)@en[HTMLAllCollection]] の [[supported property names]] は、
[[コレクションにより表現]]される[[要素]]の名前 (あれば) のリストです [SRC[>>13]]。
;; [65] 従って、 [VAR[s]] を要素の名前とするとき、 [CODE(JS)@en[document.all [ [VAR[s]] ] ][named getter]]
が存在します。
[33] [CODE(DOMi)@en[[[HTMLAllCollection]]]] における[[要素]]の[[名前]]とは、
[CODE(HTMLa)@en[[[name]]]] [[属性値]]と [[ID]] のことをいいます。
[34] ただし [CODE(HTMLa)@en[[[name]]]] [[属性]]が用いられるのは
[DFN[[RUBYB[[[「all」名前付き要素]]]@en["all"-named elements]]]]に限られます。
「all」名前付き要素とは、 [[HTML]] の
[FIG(short list)[
- [CODE(HTMLe)@en[[[a]]]]
- [CODE(HTMLe)@en[[[applet]]]]
- [CODE(HTMLe)@en[[[button]]]]
- [CODE(HTMLe)@en[[[embed]]]]
- [CODE(HTMLe)@en[[[form]]]]
- [CODE(HTMLe)@en[[[frame]]]]
- [CODE(HTMLe)@en[[[frameset]]]]
- [CODE(HTMLe)@en[[[iframe]]]]
- [CODE(HTMLe)@en[[[img]]]]
- [CODE(HTMLe)@en[[[input]]]]
- [CODE(HTMLe)@en[[[map]]]]
- [CODE(HTMLe)@en[[[meta]]]]
- [CODE(HTMLe)@en[[[object]]]]
- [CODE(HTMLe)@en[[[select]]]]
- [CODE(HTMLe)@en[[[textarea]]]]
]FIG]
... です [SRC[>>13]]。
;; [40] このリストは[[ブラウザー]]によって相違がありますが、
[[HTML Standard]] は広めにとっているようです。
コメントに「keygen?」ともあります [SRC[>>39]]。
[36] ただし[[空文字列]]は名前とはみなされません。
[63] 順序は[[木順]]で、重複する場合は最初の方が採用されます [SRC[>>13]]。
[64] [CODE(HTMLa)@en[[[id]]]] と [CODE(HTMLa)@en[[[name]]]] の両方がある[[要素]]があれば、
[CODE(HTMLa)@en[[[id]]]] が先に現れたと考えます [SRC[>>13]]。
[29] [CODE(DOMi)@en[HTMLAllCollection]] の [CODE(DOMm)@en[namedItem]] [[メソッド]]と
[[named getter]] は、
次のようにしなければ[MUST[なりません]] [SRC[>>13]]。
[FIG(steps)[
= [80] [VAR[名前]]を、第1引数を[[文字列]]として解釈した結果に設定します。
= [30] [VAR[名前]]について [[get the "all"-named element(s)]] を実行した結果を返します。
[VAR[コレクション]]は、[[文脈オブジェクト]]とします。
]FIG]
[72] [CODE(DOMi)@en[HTMLAllCollection]] [VAR[コレクション]]と名前[VAR[名前]]について
[DFN[get the "all"-named element(s)]] とは、次のようにすることです [SRC[>>13]]。
[FIG(steps)[
= [73] [VAR[名前]]が[[空文字列]]なら、 [[null]] を返してここで停止します。
= [74] [VAR[部分コレクション]]を、新しい [CODE(DOMi)@en[HTMLCollection]]
に設定します。
[FIG(list members)[
: [F[根]] : [VAR[コレクション]]の[F[根]] ([[文書]])
: [F[フィルター]] :
当該[[節点]]が
[["all"-named elements]] で [CODE(HTMLa)@en[name]] [[属性]]が[VAR[名前]]と等しいか、
[[要素]]で [F[ID]] が[VAR[名前]]と等しいなら、[[真]]
]FIG]
= [75] [VAR[部分コレクション]]に含まれる[[節点]]の数により、
[FIG(switch)[
: [81] 0個の場合 :
[[null]] を返します。
: [76] 1個の場合 :
[VAR[部分コレクション]]に含まれる[[要素]]を返します。
: [77] それ以外の場合 :
[VAR[部分コレクション]]を返します。
]FIG]
]FIG]
;; [31] つまり、同じ名前の[[要素]]の個数により、[[要素]]が返されたり、
[CODE(DOMi)@en[HTMLCollection]] が返されたりします。
(ここで [CODE(DOMi)@en[HTMLAllCollection]] ではなく [CODE(DOMi)@en[HTMLCollection]]
であることにも注意。)
;; [32] なお、同じ条件の [CODE(DOMi)@en[HTMLCollection]] を返すことになっても、
毎回同じ[[オブジェクト]]を返すことは求められていないようです。
* [CODE(DOMm)@en[item]] メソッドと legacycaller
[25] [CODE(DOMi)@en[HTMLAllCollection]] の [CODE(DOMm)@en[item][item (DOM)]]
[[メソッド]]は、次のようにしなければ[MUST[なりません]] [SRC[>>13]]。
[FIG(steps)[
= [26] [VAR[名前]]を、第1引数を[[省略可能]]な[[文字列]]と解釈した結果に設定します。
= [97] [VAR[名前]]が省略されている場合、
== [98] [CODE[null]] を返します。
= [99] それ以外の場合、
== [95] [[文脈オブジェクト]]と[VAR[名前]]について
[[get the "all"-indexed or named element(s)]]
した結果を返します。
]FIG]
[83] [CODE(DOMi)@en[HTMLAllCollection]] [[オブジェクト]]の
[F(ss)[Call]] は、[VAR[this]]、[VAR[引数リスト]]について、次のようにします
[SRC[>>13]]。
[FIG(steps)[
= [100] [VAR[引数リスト]]の[F[サイズ]]が [N[0]] か、
[VAR[引数リスト]] [ [N[0]] ]] が [CODE(JS)@en[undefined]] の場合、
== [101] [CODE[null]] を返します。
= [105] それ以外の場合、
== [102] [VAR[名前]]を、
[VAR[引数リスト]] [ [N[0]] ] を [CODE[DOMString]] に[[変換][変換 (Web IDL)]]した結果に設定します。
== [103] [VAR[結果]]を、[[文脈オブジェクト]]と[VAR[名前]]について
[[get the "all"-indexed or named element(s)]] した結果に設定します。
== [104] [VAR[結果]]を [[JavaScript値]] に[[変換][変換 (Web IDL)]]した結果を返します。
]FIG]
;; [106] [[文脈オブジェクト]]の結果が返され、 [CODE[this]] は無視されます。
[96] [CODE(DOMi)@en[HTMLAllCollection]] [VAR[コレクション]]と[VAR[名前]]について
[DFN[get the "all"-indexed or named element(s)]] するには、
次のようにします [SRC[>>13]]。
[FIG(steps)[
= [86] [VAR[名前]]が[[配列索引特性名]]の場合、
== [84] [VAR[索引]]を、[VAR[名前]]に [CODE[ToUint32]] を適用した結果に設定します。
== [85] [VAR[コレクション]]と[VAR[索引]]について
[[get the "all"-indexed element]] を実行した結果を返します。
= [87] それ以外の場合、
== [82] [VAR[コレクション]]と[VAR[名前]]について
[[get the "all"-named element(s)]] を実行した結果を返します。
]FIG]
[88] つまり [CODE(DOMm)@en[item][item (DOM)]] [[メソッド]]は[[引数]]によって
[[indexed getter]] のように動作したり、 [[named getter]] のように動作したりします。
* 歴史
** IE4
[49] [CODE(JS)@en[document.all]] は [[IE4 DOM]] で追加されました。 [[Netscape]] [[DOM0]] の
[CODE(JS)@en[document.links]] や [CODE(JS)@en[document.forms]]
などに対して、すべての種別の[[要素]]、という意味で「all」と命名されたものと思われます。
[51] その後標準化された [[DOM1]] は [CODE(JS)@en[document.all]]
を含んでいませんでした。名前によって[[要素]]にアクセスする機能は、
[CODE(DOMm)@en[getElementByName]] と [CODE(DOMm)@en[getElementById]]
という ([[Java]] の洗礼を受けたのか) 異様に長い名前の[[メソッド]]になりました。
** 00年代
[52] [CODE(JS)@en[document.all]] は [[IE]] しか実装しませんでしたが、
短く使いやすかったので、少なくない [[Webページ]]がこれを使っていました。
[53] [[W3C]] はずっとこの現実を無視していましたが、
[[Webブラウザー]]は現実の [[Webサイト]]との互換性の要求から、
非標準でありながらも [CODE(JS)@en[document.all]] を実装せざるを得なくなりました。
[54] [[Firefox]] は[[標準モード]]ではこれを実装しないことで最後まで抵抗を続けましたが、
[[奇癖モード]]では実装せざるを得ませんでした。
[55] 一方で、[[IE]] のみが実装していた時代に、 [CODE(JS)@en[document.all]]
の有無で [[IE]] とそれ以外の[[Webブラウザー]]を分岐する悪習が広まっていました。
[CODE(JS)@en[document.all]] を実装しなければならないが、
[CODE(JS)@en[if (document.all) { ... }]] を実行してはならない、
という難題でありましたが、 [CODE(JS)@en[document.all]] [[オブジェクト]]は[[比較]]時に[[偽]]と[[評価]]される、
との特例で解決されることとなりました。
;; [56] このような動作は本来 [[JavaScript]] では認められておらず、
[CODE(JS)@en[document.all]] の他はかつて [CODE(JS)@en[styleFloat]]
[[メソッド]]で行われたくらいです。
[FIG(quote)[
[FIGCAPTION[
[1] [CITE[DOMNodeInserted と DOMNodeRemoved に似た仕組みを IE でも使えるようにして、セレクタの実行結果をキャッシュする - uupaaの開発日記]] ([TIME[2008-12-27 13:51:49 +09:00]] 版) <http://d.hatena.ne.jp/uupaa/20081127/1227726901>
]FIGCAPTION]
>
-DOMNodeInserted, DOMNodeRemoved
-- document.all.length でノード数を調べることで検出します。事前に作成されているコレクションを参照するため、かなり高速です。
-- このやり方では、挿入, 削除されたタイミングを動的に知ることはできません。
-- Firefoxの標準準拠モード以外なら、ほぼ全てのモダンブラウザで使えます。
]FIG]
[2] [[DSiブラウザ]]で [CODE(JS)@en[[[document.all]]]] は[[真]]になります・・・。
** HTML5
[50] 結局ほとんどすべての [[Webブラウザー]]が [CODE(JS)@en[document.all]]
を実装したことで、 [[HTML5]] も「廃止機能」 ([[Webブラウザー]]は実装しなければならないが、
[[著者]]が使うべきではない機能) として [CODE(JS)@en[document.all]]
を規定することになりました。
[3] [CITE[IRC logs: freenode / #whatwg / 20101115]]
( ([TIME[2010-11-20 21:48:00 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20101115#l-625>
[4] [CITE@en[Web Applications 1.0 r6900 Update HTMLAllCollection.item(DOMString) to act like namedItem.]]
( ([TIME[2012-01-18 08:02:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=6899&to=6900>
[5] [CITE@en[RE: Make Microsoft follow the spec.]]
( ([[Chris Wilson]] 著, [TIME[2001-03-06 01:49:38 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-html/2001Mar/0026.html>
[6] [CITE@en[Web Applications 1.0 r7624 Clarify the document.all black magic.]]
( ([TIME[2012-12-31 13:57:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7623&to=7624>
[7] [CITE@en[Web Applications 1.0 r7798 Fix document.all since DOM changed out from under us... also, ack for previous checkin]]
( ([TIME[2013-04-10 06:48:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7797&to=7798>
[8] [CITE@en[Web Applications 1.0 r8469 Remove some parts of document.all that data shows have virtually no usage.]]
( ([TIME[2014-02-07 04:35:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8468&to=8469>
[9] [CITE@en[Re: twitter, document.all]]
( ([[Ms2ger]] 著, [TIME[2014-02-13 19:42:45 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-archive/2014Feb/0012.html>
[10] [CITE@en[Web Applications 1.0 r8502 Restore document.all() legacycaller, for compat]]
( ([TIME[2014-02-22 07:12:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8501&to=8502>
[11] [CITE@en[Web Applications 1.0 r8469 Remove some parts of document.all that data shows have virtually no usage.]]
( ([TIME[2014-02-07 04:35:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8468&to=8469>
[12] [CITE@en[Web Applications 1.0 r8010 Make the empty string no longer be a possible index for most objects that can be indexed by name.]]
( ([TIME[2013-07-03 06:45:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8009&to=8010>
[39] [CITE@en[Web Applications 1.0 r8501 Update the list of elements that support name='[SPAN[']] attributes for the purposes of document.all (mostly using the IE/Firefox lists, which are nearly identical, and a superset of Safari/Chrome)]]
([TIME[2014-02-22 07:09:00 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=8500&to=8501>
[41] [CITE@en[HTML Standard Tracker]]
( ([TIME[2014-05-22 02:46:29 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8644&to=8645>
[42] [CITE[Intent to Deprecate and Remove: document.all. - Google グループ]]
([TIME[2015-01-30 17:52:41 +09:00]] 版)
<https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/urMtTTPpUro>
[43] [CITE@ja[ブラウザ JavaScript]]
([TIME[2015-03-14 20:55:49 +09:00]] 版)
<http://www.opera.com/docs/browserjs/>
[44] [CITE@en[Fix #210: give HTMLAllCollection its own class · whatwg/html@4bade08]] ([TIME[2015-10-07 20:29:09 +09:00]] 版) <https://github.com/whatwg/html/commit/4bade08fff14d95011e2709cb2ba47e859c0a690>
[46] [CITE@en[Update ECMAScript and IDL integration · whatwg/html@550c57f]]
([TIME[2015-12-03 15:21:05 +09:00]] 版)
<https://github.com/whatwg/html/commit/550c57f186dd73784a8e4660440db2f642e37c0e>
[47] [CITE@en[Revert "Update ECMAScript and IDL integration" · whatwg/html@3a23548]]
([TIME[2015-12-03 15:27:35 +09:00]] 版)
<https://github.com/whatwg/html/commit/3a235480f1979fcddc65e07fe5a3be7bed428d17>
[48] [CITE@en[Fix #775: update HTMLAllCollection to match reality better · whatwg/html@24b8c4f]]
([TIME[2016-03-10 16:35:50 +09:00]] 版)
<https://github.com/whatwg/html/commit/24b8c4f7fcd89596eaf5335d813a559bddbb65cd>
[89] [CITE@en[document.all willful violation · Issue #668 · tc39/ecma262]]
([TIME[2016-08-16 12:40:47 +09:00]])
<https://github.com/tc39/ecma262/issues/668>
[90] [CITE@en[Implement undefined-like exotic objects by bterlson · Pull Request #673 · tc39/ecma262]]
([TIME[2017-08-16 23:15:12 +09:00]])
<https://github.com/tc39/ecma262/pull/673>
[91] [CITE@en[Remove <applet>]]
([[zcorpan]]著, [TIME[2017-08-21 22:19:30 +09:00]])
<https://github.com/whatwg/html/commit/b9b9d60f9451c05f8e8d542e4094f987ae1a5fb8>
[92] [CITE@en[Remove <applet> (except for parsing rules) · Issue #454 · whatwg/html]]
([TIME[2017-08-25 23:41:45 +09:00]])
<https://github.com/whatwg/html/issues/454>
[93] [CITE@en[Editorial: switch HTMLAllCollection legacycaller to custom '''[''''''['''Call''']'''''']''']]
([[tobie]]著, [TIME[2017-09-09 06:21:15 +09:00]])
<https://github.com/whatwg/html/commit/0679448c59cb4cd69019be1e1f35fee1bcbc9c66>
[107] [CITE@en[Add HTMLAllCollection '''[''''''['''Call''']'''''']''', remove legacycaller special operation by tobie · Pull Request #2932 · whatwg/html]]
([TIME[2017-09-09 17:37:22 +09:00]])
<https://github.com/whatwg/html/pull/2932>
[108] [CITE@en[Remove legacy callers]]
([[TimothyGu]]著, [TIME[2017-08-16 23:39:26 +09:00]])
<https://github.com/heycam/webidl/commit/2b1a990df64deb0b3d3d91ebd83f8efe59e2809b>
[109] [CITE@en['''[''''''['''Construct''']'''''']''' for legacy platform objects? · Issue #407 · heycam/webidl]]
([TIME[2017-09-13 16:01:56 +09:00]])
<https://github.com/heycam/webidl/issues/407>
[110] [CITE@en[Remove legacy callers by TimothyGu · Pull Request #412 · heycam/webidl]]
([TIME[2017-09-13 16:03:43 +09:00]])
<https://github.com/heycam/webidl/pull/412>
[111] [CITE@en[Define document.all as having '''[''''''['''IsHTMLDDA''']'''''']''']]
([[TimothyGu]]著, [TIME[2017-10-02 18:38:28 +09:00]])
<https://github.com/whatwg/html/commit/542be55f0a627460b55a08b7a1914ea05e9b3a3e>
[28] [CITE@en[Add a '''[''''''['''IsHTMLDDA''']'''''']''' internal slot to document.all · Issue #3015 · whatwg/html]]
([TIME[2017-10-03 12:44:16 +09:00]])
<https://github.com/whatwg/html/issues/3015>
[112] [CITE@en[Define document.all as having '''[''''''['''IsHTMLDDA''']'''''']''' by TimothyGu · Pull Request #3087 · whatwg/html]]
([TIME[2017-10-03 12:45:51 +09:00]])
<https://github.com/whatwg/html/pull/3087>
[113] [CITE@en[Regression fix for document.all(undefined)]]
([[foolip]]著, [TIME[2018-01-24 16:43:03 +09:00]])
<https://github.com/whatwg/html/commit/8c42aa6164d34f60228268f0fccfb23fad2ade5d>
[114] [CITE@en[Treat undefined as no arguments for document.all(undefined) by foolip · Pull Request #3392 · whatwg/html]]
([TIME[2018-02-01 22:51:46 +09:00]])
<https://github.com/whatwg/html/pull/3392>
[115] [CITE@en[Disallow -0 in algorithm for checking array index by TimothyGu · Pull Request #517 · heycam/webidl]]
([TIME[2018-02-11 17:32:15 +09:00]])
<https://github.com/heycam/webidl/pull/517>