-
Notifications
You must be signed in to change notification settings - Fork 4
/
117.txt
70 lines (51 loc) · 3.37 KB
/
117.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
[5] [[WebIDL]] における [DFN[[CODE(IDL)@en[[[legacycaller]]]]]] は、オブジェクトを [CODE(DOMi)@en[[[Function]]]]
として実行したときに呼び出される[[メソッド]]です。
[6] [[コレクション]]を[[メソッド]]として呼び出すのはおそらく [[Microsoft]] によって [[IE4 DOM]] の一部として導入された機能で、
[[Visual Basic]] などにも同様の構文が存在しています。 [[Web]] ではあまり使われておらず、
互換性のために必要な場合に限って利用し、新機能には使わないことになっています。 (そのため
「legacy」と呼ばれています。)
* 仕様書
[REFS[
- [13] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#dom-embed-caller>
]REFS]
* [CODE(IDL)@en[legacycaller]] の一覧
[8] 現存する [CODE(IDL)@en[[[legacycaller]]]] は次の[[インターフェイス]]のものです。
[FIG[
- [CODE(DOMi)@en[[[HTMLFormControlsCollection]]]]
- [CODE(DOMi)@en[[[HTMLAllCollection]]]]
- [CODE(DOMi)@en[[[HTMLEmbedElement]]]]
- [CODE(DOMi)@en[[[HTMLObjectElement]]]]
]FIG]
[9] 次の[[インターフェイス]]には一時 [CODE(IDL)@en[[[legacycaller]]]] がありましたが、既に削除されています。
[FIG[
- [CODE(DOMi)@en[[[HTMLPropertiesCollection]]]]
- [CODE(DOMi)@en[[[HTMLFormElement]]]]
]FIG]
* プラグインの legacycaller
[14] [CODE(DOMi)@en[[[HTMLEmbedElement]]]] [[インターフェイス]]は、
[[legacycaller]] 操作を実装しなければ[['''なりません''']] [SRC[>>13]]。
[15] その既定の動作は、 [CODE(DOMi)@en[[[NotSupportedError]]]] [[例外]]を[[投げる]]ものとすることが[RUBYB[提案]@en[suggest]]されています [SRC[>>13]]。
* 歴史
[1] [CITE@en[Web Applications 1.0 r6781 compat with majority of browsers]]
( ([TIME[2011-10-29 08:05:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=6780&to=6781>
[2] [CITE@en[Web Applications 1.0 r7268 Remove some 'legacycaller's]]
( ([TIME[2012-08-25 04:31:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7267&to=7268>
[3] [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>
[4] [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>
[7] [[DOM Perl Binding]] では [CODE(perl)@en[[[use overload]]]] の [CODE(perl)[[[&{}]]]]
[[演算子]]に対応することにされていましたが、後に削除されました。 ([[Perl]] では互換性のために必要がないため。)
[10] [CITE@en[909656 – Can we remove the legacycaller on <object>/<embed>?]]
([TIME[2015-01-30 17:46:30 +09:00]] 版)
<https://bugzilla.mozilla.org/show_bug.cgi?id=909656>
[11] [CITE[Intent to Remove: HTMLAppletElementLegacyCall - Google グループ]]
([TIME[2015-01-30 17:47:14 +09:00]] 版)
<https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/MuxvaXiyBxU>
[12] [CITE@en[Web Applications 1.0 r6915 Define the legacycaller behaviour of <embed> and <object>.]]
([TIME[2012-01-26 07:49:00 +09:00]] 版)
<https://html5.org/r/6915>