Firefoxのバージョン> 3.5(3.5。、3.6。、4。*)を使用し、archive
とcodebase
プロパティは正しくありますが、機能しません。アプレットのメインクラスはarchive
にあり、実行時にロードされるいくつかの必要なクラスはcodebase
にあります。 archive
のみを指定すると、アプレットはロードされますが、codebase
のクラスが欠落しています。 archive
とcodebase
を指定すると、アプレットをロードできません。アプレットがcodebase
フォルダからメインクラスを読み込もうとしているようで、archive
ファイルを調べていません。
<html>
<body>
<applet width=600 height=300 code="MyClass.class"
type="application/x-Java-applet;jpi-version=6"
archive="http://myurl.com/archive/myjar.jar"
codebase="http://myurl.com/classes">
no applet
</applet>
</body>
</html>
メインクラスは http://myurl.com/archive/myjar.jar にあり、ランタイムクラスは http://myurl.com/classes にあります。
属性codebase
は、アプレットのベースURL(アプレットのコードを含むディレクトリ)を指定します。これは、archive
属性のjarファイルを検索するときに使用され、archive
属性のすべてのjarがcodebase
を基準にして検索されます。
そう。 archive="http://myurl.com/archive/myjar.jar"
とcodebase="http://myurl.com/classes"
を一緒に使用すると、次のようになります。find" http://myurl.com/archive/myjar.jar " in- " http://myurl.com/classes "フォルダー。
つまり完全な検索パスは" http://myurl.com/classes/http://myurl.com/archive/myjar.jar "です。そしてもちろんそれは見つかりません!
また、jarファイルがarchive
属性で指定されていないクラスは、codebase
属性なしでは見つかりません。つまりcodebase
がない場合、" http://myurl.com/classes "フォルダーでクラスを見つける方法はありません。
詳細については、 アプレットタグを使用した展開 チュートリアルを参照してください。
私は次のことを提案します解決策:
myjar.jar
をhttp://myurl.com/classes
フォルダーに配置します。<html>
<body>
<applet width=600 height=300 code="MyClass"
type="application/x-Java-applet;jpi-version=6"
archive="myjar.jar"
codebase="http://myurl.com/classes">
no applet
</applet>
</body>
</html>