classid

classid

object 要素 classid 属性 (HTML, XHTML 1)

[1] HTMLobject 要素の classid 属性は、物体の実装の場所を指定します。

[2] 仕様書:

[10] HTML 4 DTD の注釈 (参考) には identifies an implementation と書かれています。

属性値

[3] この属性の値は %URI です。 SGML 的には CDATA です。

[4] この属性は省略できます。

URI scheme

[5] この属性の値に使われる URI参照は、ほとんどの場合 clsid: scheme です。 というか、 classid が使われるのはほとんど ActiveX Control でのみです。

Java applet では java: scheme を使うですが HTML 4 13.3、本当に使われているのでしょうか? 見たことがありません。

他の使用例・実装例があったら教えてください。

[11] >>5 java: URI も一応実装はされているみたいです。。。 (名無しさん [sage] 2005-12-25 09:26:47 +00:00)

[12] >>11 MacIE 5, Firefox, Safari で実装されているらしいです。 (名無しさん [sage])

[14] HTML 4 仕様書には >>13 の例 (http: URI) があり、ためしに検索してみる (<IW:Google:"object classid py">) とそれを引いたらしい例が大量に出てきますが、実装されているものなのかどうかは不明です。

HTML 4 仕様書には Python とか Tcl とか怪しい例がたくさん載っているw

(名無しさん [sage])

[16] x-oma-application: というのも (名無しさん)

[19] >>18 によると NN4 では javabean: が実装されていたようです。

他との関係

[6] 物体の種類により、 data 属性 (データ) と classid 属性 (実装) の一方または両方を指定できます。

ただし、両方があるときの挙動は規定されていません。 可搬性のため、実装が追加のデータを取り寄せる必要があるときには param を使うべきです。 HTML 4.01 13.3

[7] この属性の値が相対URI参照であれば、 codebase 属性によって解決されます (HTML//基底URI を参照)。 code の型のヒントとして codetype 属性と type 属性が使われます。 code の資源は archive の URI 参照で指定された資源に含まれているかもしれません。

[8] Java applet の例

<OBJECT codetype="application/java-archive"
        classid="java:program.start"
        codebase="http://foooo.bar.example/java/myimplementation/">
<!-- 代替文 -->
</OBJECT>

(HTML 4 仕様書より、改)

[9] ActiveX control の例

<P><OBJECT classid="clsid:663C8FEF-1EF9-11CF-A3DB-080036F12502"
        data="http://www.acme.example/ole/clock.stm">
Clock: This application is not supported.
</OBJECT>

(HTML 4 仕様書より、改)

[13] Python プログラムを埋込む例 HTML 4 13.3.1

<P><OBJECT classid="http://www.miamachina.it/analogclock.py">
</OBJECT>

(名無しさん [sage])

[15]

<OBJECT id="myControl"
classid="http:ControlLibrary1.dll#ControlLibrary1.myControl"
VIEWASTEXT></OBJECT>

(名無しさん [sage])

メモ

[17] Bug 46569 &#8211; Flash Publish codes OBJECT element with IE specific classid attribute (2008-01-27 11:24:07 +09:00 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=46569> (名無しさん)

[18] Bug 208024 &#8211; Mozilla does not support javabean scheme for OBJECT CLASSID (2008-01-27 11:32:32 +09:00 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=208024>

[20] MAMA: Plug-ins - Opera Developer Community ( 版) <http://dev.opera.com/articles/view/mama-plug-ins/#object>

[21] Re: <object> element feedback (Ian Hickson <ian@...> 著, 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/16712>

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.

[22] Re: <object> element feedback (Michael A. Puls II <shadow2531@...> 著, 版) <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] Re: <object> element feedback (Ian Hickson <ian@...> 著, 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/16717>

Yeah... I think I'll leave this unspecified.

[24] IRC logs: freenode / #whatwg / 20090610 ( 版) <http://krijnhoetmer.nl/irc-logs/whatwg/20090610#l-300>

[25] Netscape Gecko and Plugins (Arun Ranganathan 著, 版) <http://petesguide.com/xpi/Netscape%20Gecko%20and%20Plugins.htm>

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.

[26] Deploying a Runtime Application Using Internet Explorer ( 版) <https://msdn.microsoft.com/en-us//library/a7as3z1d(VS.80).aspx>

<object id="myCtl"

classid="http://www.mycode.Microsoft.com/mycode.dll#myClass">

</object>

[27] .NET/WindowsForms/HTML埋め込み - BugbearR's Wiki ( 版) <http://www.bugbearr.jp/?.NET%2FWindowsForms%2FHTML%E5%9F%8B%E3%82%81%E8%BE%BC%E3%81%BF>

HTML 埋め込み Windows Forms コントロール †

ActiveX コントロールと違って、classid に http を指定する。

<object id="MyControl" width=100 height=100 classid="http:MyControl.dll#MyControl.UserControl1">

[28] BUG: The "Classid" Attribute of the Windows User Control in an <Object> Tag Is Case Sensitive ( 版) <https://support.microsoft.com/ja-jp/kb/315160/en-us>

[29] コード : Internet Explorer で Windows フォーム コントロールを管理する ( 版) <https://msdn.microsoft.com/ja-jp/library/cc463940(v=vs.71).aspx>

<OBJECT id = "myControl" classid="http:myLibraryName.dll#myLibraryname.myControlName" VIEWASTEXT>

</OBJECT>

[30] Remove <applet> by zcorpan · Pull Request #1399 · whatwg/html () <https://github.com/whatwg/html/pull/1399>