* applet 要素 (HTML, XHTML 1) [1] [[HTML]] の [DFN[[CODE(HTMLe)[applet]] 要素型]]は、 [[Java]] applet を [[HTML文書]]に埋込みます。 [2] 仕様書: - [[HTML 4]] -- 13.1 Introduction to objects, images, and applets -- 13.4 Including an applet: the [CODE(HTMLe)[APPLET]] element [5] :[[開始タグ]]:必須 :[[終了タグ]]:必須 :[[内容模型]]:任意個の [CODE(HTMLe)[[[param]]]] に続けて [CODE(SGML)[(%[[flow]])*]] :出現できる文脈:[CODE(SGML)[%[[inline]]]] な文脈。 (歴史的変遷: ) :[[属性]]: ,属性名,属性値,既定値,説明,出典 ,[CODE(HTMLa)[[[align]]]],,,配置,[HTML 4] 非推奨 ,[CODE(HTMLa)[[[alt]]]],[CODE(SGML)[%[[Text]]]],(なし),短い説明,[HTML 4] 非推奨 ,[CODE(HTMLa)[[[archive]]]],[CODE(ABNF)[#[CODE(SGML)[%[[URI]]]]]],(なし),書庫,[HTML 4] 非推奨 ,[CODE(HTMLa)[[[class]]]],,(なし),[[級]],[HTML 4] %[[coreattrs]] 非推奨 ,[CODE(HTMLa)[[[code]]]],[CODE(SGML)[[[CDATA]]]],(選択必須),級ファイル,[HTML 4] 非推奨 ,[CODE(HTMLa)[[[codebase]]]],[CODE(SGML)[%[[URI]]]],(継承),[[基底URI]],[HTML 4] 非推奨 ,[CODE(HTMLa)[[[height]]]],[CODE(SGML)[%[[Length]]]],(必須),初期高さ,[HTML 4] 非推奨 ,[CODE(HTMLa)[[[hspace]]]],[CODE(SGML)[%[[Pixels]]]],,水平余白,[HTML 4] 非推奨 ,[CODE(HTMLa)[[[id]]]],[CODE(SGML)[[[ID]]]],(なし),一意識別子,[HTML 4] %coreattrs 非推奨 ,[CODE(HTMLa)[[[name]]]],,,Applet 名,[HTML 4] 非推奨 ,[CODE(HTMLa)[[[object]]]],[CODE(SGML)[[[CDATA]]]],(選択必須),直列化 applet ファイル,[HTML 4] 非推奨 ,[CODE(HTMLa)[[[style]]]],[CODE(SGML)[%[[StyleSheet]]]],(なし),スタイル指定,[HTML 4] %coreattrs 非推奨 ,[CODE(HTMLa)[[[title]]]],[CODE(SGML)[%[[Text]]]],(なし),,[HTML 4] %coreattrs 非推奨 ,[CODE(HTMLa)[[[vspace]]]],[CODE(SGML)[%[[Pixels]]]],,垂直余白,[HTML 4] 非推奨 ,[CODE(HTMLa)[[[width]]]],[CODE(SGML)[%[[Length]]]],(必須),初期幅,[HTML 4] 非推奨 [7] [CODE(HTMLa)[code]] と [CODE(HTMLa)[object]] のいずれかが必須です。 [[#comment]] ** 代替 [3] この要素型は HTML 4 で'''非推奨'''とされています。 代わりに [CODE(HTMLe)[[[object]]]] 要素型が使えます。 [[#comment]] ** 内容 [6] [CODE(HTMLe)[applet]] の内容は、任意個の [CODE(HTMLe)[[[param]]]] に続けて [CODE(SGML)[(%[[flow]])*]] が書けます。前者は applet への実行時引数、後者は[[代替文]]です。 HTML 4 [[DTD]] では [CODE(SGML)[([CODE(HTMLe)[param]] | %flow)*]] になっています。 [9] この辺の事情は [CODE(HTMLe)[object]] と同じです。 [CODE(HTMLe)[[[object]]]] 要素の内容の説明をご覧ください。 一時はダミーの [CODE(HTMLe)[[[textflow]]]] 要素型を導入して DTD 的にも正しく表現しようと試みられたことがありましたが、 最終的に採用されませんでした。 [12] [CODE(SGML)[%flow]] の部分は、 [CODE(HTMLe)[applet]] に対応していない UA や Java applet を使用しない設定のときの代替情報となります。 UA はそれ以外の時には無視しなければなりません。 [SUP[ [HTML 4] ]] [[#comment]] ** 実装 [4] Java が有効なすべての[[ブラウザ]]が [CODE(HTMLe)[applet]] を実装しています。 (と HTML 4 仕様書に (大胆にも) 書いてあります。) [[#comment]] ** 歴史 [8] [CODE(HTMLe)[applet]] 要素型は、 Java 1.0β において Java 1.0α 時代の [CODE(HTMLe)[[[app]]]] 要素型の代わりとして 1995年に登場しました。 (仕様変更の事情は [CODE(HTMLe)[[[app]]]] 要素の歴史の章を参照してください。) [[JDK]] についていた Java で書かれた [[WWWブラウザ]] [[HotJava]] に実装されたのをはじめとして、 [[NN]] や [[WinIE]] などに次々と実装していきました。 [11] そして 1997年1月には [[HTML 3.2]] 勧告で正式な HTML 仕様の一部となりました。 しかし、1999年に勧告された [[HTML 4.0]] では Java applet も含めた任意の物体を埋め込むための [CODE(HTMLe)[[[object]]]] 要素型が (5年にわたる標準化作業の末に) 登場したことにより、 [CODE(HTMLe)[applet]] は'''非推奨'''とされました。 [[#comment]] ** 例 [13] 簡単な applet 使用例 [PRE(HTML)[ Java applet that draws animated bubbles. ]PRE] [WEAK[(HTML 4 仕様書より)]] [CODE(HTMLe)[[[codebase]]]] 属性が指定されていませんから、 同じ階層にある [SAMP(URI)[Bubbles.class]] が使われます。 [CODE(HTMLe)[[[object]]]] に書き換えた例: [PRE(HTML)[

Java applet that draws animated bubbles. ]PRE] [WEAK[(HTML 4 仕様書より)]] [CODE(HTMLe)[[[classid]]]] は [SAMP(URI)[Bubbles.class]] のままでよいと思うのですが、 [SAMP(URI)[[[java]]:]] scheme というのはこのような使い方をするものなのでしょうか? [14] 引数を渡す例 [PRE(HTML)[ Java applet that plays a welcoming sound. ]PRE] [WEAK[(HTML 4 仕様書より)]] [CODE(HTMLe)[object]] で書き換えた例: [PRE(HTML)[ Java applet that plays a welcoming sound. ]PRE] こちらは余計な [SAMP(URI)[java:]] がついていません。 >>13 の書き換え例は間違いでしょうか。 [[#comment]] ** メモ [[#comment]] * メモ