/
959.txt
224 lines (157 loc) · 7.89 KB
/
959.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
* object 要素 classid 属性 (HTML, XHTML 1)
[1] [[HTML]] の [CODE(HTMLe)[[[object]]]] 要素の
[DFN[[CODE(HTMLa)[classid]] 属性]]は、物体の実装の場所を指定します。
[2] 仕様書:
- [[HTML 4]]
-- [CITE[13.3 Generic inclusion: the [CODE(HTMLe)[OBJECT]] element]]
<IW:HTML4:"struct/objects.html#include-objects">
-- [CODE(HTMLe)[object]] 要素 [CODE(HTMLa)[classid]] 属性
<IW:HTML4:"struct/objects.html#adef-classid">
-- [CITE[13.3.3 Global naming schemes for objects]]
<IW:HTML4:"struct/objects.html#idx-object-7">
-- [CITE[HTML 4 Changes]]
<IW:HTML4:"appendix/changes.html#h-A.1.1.9">
[10]
HTML 4 DTD の注釈 (参考) には
[Q[identifies an implementation]]
と書かれています。
[[#comment]]
** 属性値
[3] この属性の値は [CODE(SGML)[%[[URI]]]] です。
[[SGML]] 的には [CODE(SGML)[[[CDATA]]] です。]]
[4] この属性は省略できます。
[[#comment]]
*** URI scheme
[5] この属性の値に使われる [[URI参照]]は、ほとんどの場合
[CODE(URI)[[[clsid]]:]] scheme です。
というか、 [CODE(HTMLa)[classid]] が使われるのはほとんど
[[ActiveX Control]] でのみです。
[[Java]] applet では [CODE(URI)[[[java]]:]] scheme
を使うですが [SRC[HTML 4 13.3]]、本当に使われているのでしょうか?
見たことがありません。
他の使用例・実装例があったら教えてください。
[11]
>>5 [CODE(URI)@en[[[java]]:]] [[URI]] も一応実装はされているみたいです。。。
([[名無しさん]] [sage] [WEAK[2005-12-25 09:26:47 +00:00]])
[12]
>>11 [[MacIE]] 5, [[Firefox]], [[Safari]] で実装されているらしいです。
([[名無しさん]] [sage])
[14]
[[HTML 4]] 仕様書には >>13 の例 ([CODE(URI)@en[[[http]]:]] [[URI]])
があり、ためしに検索してみる
(<IW:Google:"object classid py">) とそれを引いたらしい例が大量に出てきますが、実装されているものなのかどうかは不明です。
;; [[HTML 4]] 仕様書には [[Python]] とか [[Tcl]]
とか怪しい例がたくさん載っているw
([[名無しさん]] [sage])
[16]
[CODE(URI)@en[[[x-oma-application]]:]] というのも
([[名無しさん]])
[19]
>>18 によると [[NN4]] では [CODE(URI)@en[[[javabean]]:]]
が実装されていたようです。
[[#comment]]
** 他との関係
[6] 物体の種類により、 [CODE(HTMLa)[[[data]]]]
属性 (データ) と [CODE(HTMLa)[classid]] 属性 (実装)
の一方または両方を指定できます。
ただし、両方があるときの挙動は規定されていません。
可搬性のため、実装が追加のデータを取り寄せる必要があるときには
[CODE(HTMLe)[[[param]]]] を使うべきです。 [SRC[HTML 4.01 13.3]]
[7] この属性の値が[[相対URI参照]]であれば、
[CODE(HTMLa)[[[codebase]]]] 属性によって解決されます
([[HTML//基底URI]] を参照)。
[CODE(HTMLa)[code]] の型のヒントとして [CODE(HTMLa)[[[codetype]]]]
属性と [CODE(HTMLa)[[[type]]]] 属性が使われます。
[CODE(HTMLa)[code]] の資源は [CODE(HTMLa)[[[archive]]]]
の URI 参照で指定された資源に含まれているかもしれません。
[[#comment]]
** 例
[8] Java applet の例
[PRE(HTML)[
<OBJECT codetype="application/java-archive"
classid="java:program.start"
codebase="http://foooo.bar.example/java/myimplementation/">
<!-- 代替文 -->
</OBJECT>
]PRE]
[WEAK[(HTML 4 仕様書より、改)]]
[9] ActiveX control の例
[PRE(HTML)[
<P><OBJECT classid="clsid:663C8FEF-1EF9-11CF-A3DB-080036F12502"
data="http://www.acme.example/ole/clock.stm">
Clock: This application is not supported.
</OBJECT>
]PRE]
[WEAK[(HTML 4 仕様書より、改)]]
[13]
[[Python]] [[プログラム]]を埋込む例 [SRC@en[HTML 4 13.3.1]]
[PRE(HTML example code)[
<P><OBJECT classid="http://www.miamachina.it/analogclock.py">
</OBJECT>
]PRE]
([[名無しさん]] [sage])
[15]
[PRE(HTML example code)[
<OBJECT id="myControl"
classid="http:ControlLibrary1.dll#ControlLibrary1.myControl"
VIEWASTEXT></OBJECT>
]PRE]
;; [CITE[Microsoft Java 仮想マシン 移行ガイド バージョン 1.3.2]]
(2003年付)
<http://download.microsoft.com/download/c/9/9/c99b73b9-3b8b-45b0-942c-0c9220bdf6b2/MSFTVM_Transition_Guide.pdf>
([[名無しさん]] [sage])
[[#comment]]
** メモ
[17]
[CITE[Bug 46569 – Flash Publish codes OBJECT element with IE specific classid attribute]] ([CODE[2008-01-27 11:24:07 +09:00]] 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=46569>
([[名無しさん]])
[18]
[CITE[Bug 208024 – Mozilla does not support javabean scheme for OBJECT CLASSID]] ([CODE[2008-01-27 11:32:32 +09:00]] 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=208024>
[20] [CITE@en[MAMA: Plug-ins - Opera Developer Community]] ([TIME[2008-12-08 23:14:26 +09:00]] 版) <http://dev.opera.com/articles/view/mama-plug-ins/#object>
[21] [CITE[Re: <object> element feedback]] ([[Ian Hickson <ian@...>]] 著, [TIME[2008-11-20 23:43:48 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/16712>
>
[PRE[
On Thu, 20 Nov 2008, Michael A. Puls II wrote:
>
> The spec currently says that Opera, Firefox and Safari can use the
> classid attribute to load the plugin if they want. This might be done by
> mapping a classid to a plugin handler. They just need to fall back if
> that fails, instead of then trying type and data.
>
> The danger of mapping classid for non-activex browsers is that sometimes
> an <object> that uses classid="" might be meant for an activeX plugin
> that uses a different API than the NPAPI version of the plugin. This
> where vendors would have to be careful before deciding what classids to
> support.
>
> If that's not the handling intended by the spec and classid is meant to
> be IE-only, the spec should be clarified. classid isn't a valid
> attribute, so maybe that doesn't matter.
What you describe is what I intended. There's a commented list of IDs that
maybe they should support (based on what they do support) but I don't know
whether to make it formal or not. So far I've opted to not make it formal.
I think it might depend on a platform-by-platform basis.
]PRE]
[22] [CITE[Re: <object> element feedback]] ([[Michael A. Puls II <shadow2531@...>]] 著, [TIME[2008-11-21 00:01:28 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/16715>
>
clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6 is for the WMP 7+ api. It uses a different API than the 6.4
API that's used by the NPAPI 6.4 wmp plugin (npdsplay.dll) that uses application/x-mplayer2.
>
So, mapping the classid in this case can break things, like volume, file loading, autostart etc and others
things, including scripting.
>
However, clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95 is the 6.4 classid. It's still meant for the
activeX 6.4 plugin, but it's pretty compatible with the NPAPI 6.4 wmp plugin.
[23] [CITE[Re: <object> element feedback]] ([[Ian Hickson <ian@...>]] 著, [TIME[2008-11-21 00:36:31 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/16717>
>Yeah... I think I'll leave this unspecified.
[24] [CITE[IRC logs: freenode / #whatwg / 20090610]]
([TIME[2009-08-29 19:19:58 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20090610#l-300>
[FIG(quote)[
[FIGCAPTION[
[25] [CITE[Netscape Gecko and Plugins]]
([[Arun Ranganathan]] 著, [TIME[2004-09-03 04:50:09 +09:00]] 版)
<http://petesguide.com/xpi/Netscape%20Gecko%20and%20Plugins.htm>
]FIGCAPTION]
> You can use the classid attribute of the OBJECT tag: <object classid="java:MyClassName.class"....> . This is the only classid that Netscape Gecko browsers support, since most classid attributes used with OBJECT tags in the web today refer to the UUIDs associated with IE's ActiveX controls. Netscape Gecko does not support ActiveX.
]FIG]