applet

applet 要素 (HTML)

[1] HTMLapplet 要素型は、 Java appletHTML文書に埋込みます。

仕様書

[5]

内容模型
任意個の param に続けて (%flow)*
出現できる文脈
%inline な文脈。 (歴史的変遷: <http://suika.fam.cx/www/2004/html/classes>)
属性
属性名属性値既定値説明状態出典
align配置[HTML 4] 非推奨
alt%Text(なし)短い説明[HTML 4] 非推奨
archive#%URI(なし)書庫[HTML 4] 非推奨
class(なし)[HTML 4] %coreattrs 非推奨
codeCDATA(選択必須)級ファイル[HTML 4] 非推奨
codebase%URI(継承)基底URI[HTML 4] 非推奨
datafldデータ欄非標準WinIE
datasrcデータ源非標準WinIE
height%Length(必須)初期高さ[HTML 4] 非推奨
hspace%Pixels水平余白[HTML 4] 非推奨
idID(なし)一意識別子[HTML 4] %coreattrs 非推奨
mayscript非標準NC4
nameApplet 名[HTML 4] 非推奨
objectCDATA(選択必須)直列化 applet ファイル[HTML 4] 非推奨
src
style%StyleSheet(なし)スタイル指定[HTML 4] %coreattrs 非推奨
title%Text(なし)[HTML 4] %coreattrs 非推奨
viewastext非標準
vspace%Pixels垂直余白[HTML 4] 非推奨
width%Length(必須)初期幅[HTML 4] 非推奨

[7] codeobject のいずれかが必須です。

[18] HTML 4 DTD の注釈 (参考) にも One of code or object attributes must be present. と書かれています。 (名無しさん [sage])

代替

[3] この要素型は HTML 4 で非推奨とされています。 代わりに object 要素型が使えます。

[15] Javaアプレット版KISS <http://emk.name/java/info.html>

Java applet の埋込みの object, applet, embed での書き方について詳しいので参考に。

内容

[6] applet の内容は、任意個の param に続けて (%flow)* が書けます。前者は applet への実行時引数、後者は代替文です。

HTML 4 DTD では (param | %flow)* になっています。

[9] この辺の事情は object と同じです。 object 要素の内容の説明をご覧ください。

一時はダミーの textflow 要素型を導入して DTD 的にも正しく表現しようと試みられたことがありましたが、 最終的に採用されませんでした。

[12] %flow の部分は、 applet に対応していない UA や Java applet を使用しない設定のときの代替情報となります。 UA はそれ以外の時には無視しなければなりません。 [HTML 4]

[17] HTML 4 DTD の注釈 (参考) には Place PARAM elements before other content. と書かれています。

HTMLAppletElement インターフェイス

[60] applet 要素要素インターフェイスは、 HTMLAppletElement です。

[61] Node, Element, HTMLElement, HTMLDatabinding

Applet (JavaScript 1.1)
altHTMLHTMLAppletElement (WinIE 4)
codeHTMLAppletElement (WinIE 4)
codeBaseHTMLAppletElement (WinIE 4)
heightHTMLAppletElement (WinIE 4)
hspaceHTMLAppletElement (WinIE 4)
nameHTMLAppletElement (WinIE 4)
srcHTMLAppletElement (WinIE 4)
vspaceHTMLAppletElement (WinIE 4)
widthHTMLAppletElement (WinIE 4)
(Java アプレット public メソッド & 特性 (?))Applet (JavaScript 1.1)

[48] applet 要素プラグインがスクリプト可能インターフェイスを持つなら、 これを晒すべきです >>34

状態

[215] HTML要素としての状態に加えて、次の applet 要素固有の状態を持ちます。

表現するもの
プラグインフォールバック内容のいずれかです。
プラグイン実現値
プラグイン実現値化されている場合、その実現値です。

処理

[35] 要素要素が次のいずれかの条件を満たす場合、内容表現します >>34

[47] レンダリング中か否かは影響しません。

[44] それ以外の場合、Java プラグイン実現値化するべきです >>34applet 要素プラグイン表現します >>34

[45] HTML Standard には明記されていませんが、 >>35 の状態が変化した際、 改めて表現するものを決定し直す必要があると思われます。

[56] Javaアプレットは、最早 Web互換性のために必要ではないと考えられています。 従って、すべての Webブラウザーは、 applet 要素内容表現するものとして扱うべきでしょう。

[46] Javaアプレット実現値化する際は、 次の名前と値の組のリストプラグインに渡すべきです >>34

  1. [208] 属性の名前と値。追加順/ソース順。
  2. [209] 名前 PARAM, 値 null
  3. [210] 子要素 param による引数の名前と値。木順

[213] embed 要素ではnull名前空間属性に限定されていますが、 こちらではなぜか限定されていません。

レンダリング

[19] Bidi との関係: applet 要素は、 bidi 的には方向性に関して中立文字1文字であるかのように扱います。 方向について特に配慮が必要なら 前後に LRMRLM を使えます。 SI 4281 6.1.4

歴史

登場

[8] applet 要素型は、 Java 1.0β において Java 1.0α 時代の app 要素型の代わりとして 1995年に登場しました。 (仕様変更の事情は app 要素の歴史の章を参照してください。)

JDK についていた Java で書かれた WWWブラウザ HotJava に実装されたのをはじめとして、 NNWinIE などに次々と実装していきました。

[11] そして 1997年1月には HTML 3.2 勧告で正式な HTML 仕様の一部となりました。

しかし、1999年に勧告された HTML 4.0 では Java applet も含めた任意の物体を埋め込むための object 要素型が (5年にわたる標準化作業の末に) 登場したことにより、 applet非推奨とされました。

[16] その一方で、1999年から2000年にかけての XHTML 1.1 WD では、 object を仕様に含めず、 applet を含めていました。 当時のブラウザの object による Java applet の実装状況からそうすることが検討されていたそうです。 (が、 object は Java applet 専用ではないのですから、何も削除まですることはあるまいに。)

参考: [JavaHouse-Brewers:38843] Re: How to embed an applet into an HTML document <http://java-house.jp/ml/archive/j-h-b/038843.html#body>

結局2001年の勧告までには HTML 4 Strict DTD 同様に applet は削除され、 object が採用されました。

HTML4

[2]

[4] Java が有効なすべてのブラウザapplet を実装しています。 (と HTML 4 仕様書に (大胆にも) 書いてあります。)

[20] Javaアプレット版KISS <http://emk.name/java/info.html>

Java アプレット関係要素型の実装状況について色々メモってあります。 (名無しさん [sage])

[21] Java VM Selector for IE v0.91 <http://homepage1.nifty.com/emk/vmselect.html> (名無しさん [sage])

[22] Java アプレットから Microsoft J# ブラウザ コントロールへの移行 <http://www.microsoft.com/japan/msdn/vs/vj/vjtskMigratingJavaAppletsToMicrosoftJBrowserControls.asp>

appletJavaアプレットobjectからJ#objectへの変換プログラム。 (名無しさん [sage])

[23] appletかobjectか <http://oku.edu.mie-u.ac.jp/~okumura/java2/whichtag.html>

試験スイートと、いくつかの利用者エージェントの試験結果あり。

(名無しさん [sage])

[24] Javaアプレット起動に使用されるJVMのベンダとバージョンの確認 <http://java-house.jp/~takagi/java/security/show-version/test.html> (名無しさん [sage])

[25] [JavaHouse-Brewers:50078] Re: JRE のセキュリティホール発 覚への対応のあり方 <http://java-house.jp/ml/archive/j-h-b/050078.html>

>>24 結果 (名無しさん [sage])

[26] Java Plug-in での OBJECT、EMBED、および APPLET タグの使用 <http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/plugin/developer_guide/using_tags.html> (名無しさん [sage])

[27] Welcome to Netscape Navigator 3.03 <http://wp.netscape.com/eng/mozilla/3.0/relnotes/windows-3.03.html#JavaScriptBugs>

widthheightが必須なのは不具合だとされていました。 (名無しさん [sage])

[28] Java Applets (2007-02-28 00:48:04 +09:00 版) <http://web.archive.org/web/19970613221228/www82.netscape.com/comprod/products/navigator/version_2.0/java_applets/index.html>

[13] 簡単な applet 使用例

<APPLET code="Bubbles.class" width="500" height="500">
Java applet that draws animated bubbles.
</APPLET>

(HTML 4 仕様書より)

codebase 属性が指定されていませんから、 同じ階層にある Bubbles.class が使われます。

object に書き換えた例:

<P><OBJECT codetype="application/java"
        classid="java:Bubbles.class"
        width="500" height="500">
Java applet that draws animated bubbles.
</OBJECT>

(HTML 4 仕様書より)

classidBubbles.class のままでよいと思うのですが、 java: scheme というのはこのような使い方をするものなのでしょうか?

[14] 引数を渡す例

<APPLET code="AudioItem" width="15" height="15">
<PARAM name="snd" value="Hello.au|Welcome.au">
Java applet that plays a welcoming sound.
</APPLET>

(HTML 4 仕様書より)

object で書き換えた例:

<OBJECT codetype="application/java"
        classid="AudioItem" 
        width="15" height="15">
<PARAM name="snd" value="Hello.au|Welcome.au">
Java applet that plays a welcoming sound.
</OBJECT>

こちらは余計な java: がついていません。 >>13 の書き換え例は間違いでしょうか。

メモ

[29] Using APPLET, OBJECT and EMBED Tags (2005-08-27 03:33:27 +09:00 版) <http://java.sun.com/j2se/1.5.0/docs/guide/plugin/developer_guide/using_tags.html> (名無しさん)

[30] Bug 6102 &#8211; Please do not break applet element in HTML 5 ( 版) <http://www.w3.org/Bugs/Public/show_bug.cgi?id=6102> (名無しさん)

メモ

[31] (X)HTML5 Tracking ( 版) <http://html5.org/tools/web-apps-tracker?from=4096&to=4097>

[32] The APPLET Tag ( 版) <http://download.oracle.com/javase/1.4.2/docs/guide/misc/applet.html>

[33] Techniques for WCAG 2.0 ( ( 版)) <http://www.w3.org/TR/2012/NOTE-WCAG20-TECHS-20120103/complete.html#ua2.11.1>

[10] OASIS Open Document Format for Office Applications (OpenDocument) Version 1.2 - Part 1: OpenDocument Schema ( 版) <http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#a10_4_7_draw_applet_>

The <draw:applet> element represents an applet that is embedded in a document. Its semantics are the same as the <applet> element in HTML. §13.4 of [HTML4]. This element shall have either a draw:code or draw:object attribute.

[49] 影鷹 : ドキュメント - アプレットの使い方 ( 版) <http://www.kagetaka.org/documents/applet.html>

[50] IRC logs: freenode / #whatwg / 20150727 ( 版) <http://krijnhoetmer.nl/irc-logs/whatwg/20150727#l-457>

[51] Add "applet" context. Fixes https://www.w3.org/Bugs/Public/show_bug.c… · whatwg/fetch@5fe3a2d ( 版) <https://github.com/whatwg/fetch/commit/5fe3a2dd90be0c164b8d81655ba0714c9979f5f6>

[52] Deprecate <applet> · whatwg/html@3b411af ( 版) <https://github.com/whatwg/html/commit/3b411afc3706e5b42c93c09d81e0c234db612664>

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

[54] Upstream the 'plugin-types' hooks from CSP3 (mikewest著, ) <https://github.com/whatwg/html/commit/5bafd7ed8955f27bb1ce7e68ceb22878c79a4c62>

[57] Fix which built-in elements can be customized (domenic著, ) <https://github.com/whatwg/html/commit/7d6b279b0d2bc30752700155a043b65441fe12e3>

[58] Expand on the <keygen> removal and deprecation (domenic著, ) <https://github.com/whatwg/html/commit/8a85d1742d9ac9be17f79f8087898147209d354c>

[59] Remove <applet> (zcorpan著, ) <https://github.com/whatwg/html/commit/b9b9d60f9451c05f8e8d542e4094f987ae1a5fb8>

[62] Remove <applet> (except for parsing rules) · Issue #454 · whatwg/html () <https://github.com/whatwg/html/issues/454>

[63] 157926 – Remove applet support () <https://bugs.webkit.org/show_bug.cgi?id=157926>

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

[65] `<object>` without "data" attribute probably needs to consider params to figure out its URL · Issue #387 · whatwg/html () <https://github.com/whatwg/html/issues/387>

[66] [css-display] Remove references to <applet>. (emilio著, ) <https://github.com/w3c/csswg-drafts/commit/6d4ee272eddbb5b3805ae7a430309152e00e6d28>

[67] [css-display] Remove references to <applet>. by emilio · Pull Request #2168 · w3c/csswg-drafts () <https://github.com/w3c/csswg-drafts/pull/2168>

[68] Java Plug-in での OBJECT、EMBED、および APPLET タグの使用 () <https://docs.oracle.com/javase/jp/1.5.0/guide/plugin/developer_guide/using_tags.html>