Axel Richter: + JAVA: aktive Java VM im IE?

Beitrag lesen

Hallo Andreas,

ich suche eine Möglichkeit, im Internet Explorer per Javascript festzustellen, welche Java VM für die Ausführung eines Applets verwendet wird, ob es die Microsoft VM oder die Sun VM ist.

Mit navigator.javaEnabled erfahre ich nur, ob eine Java VM verfügbar ist (vorhanden und aktiviert), aber nicht welche.
Mit navigator.plugins geht es nicht, da das unter dem Internet Explorer nicht existiert.

Doch, verweist aber einfach auf document.embeds, was nicht sehr hilfreich ist.
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/collections/plugins_0.asp

Nötig ist die Unterscheidung, da das eigentliche Applet ein signiertes Applet ist - und die Microsoft VM erkennt eine Signatur nur in einem CAB-File, während die Sun VM ein signiertes jar erfordert.

Warum zwingst Du nicht einfach alle Browser, die Sun VM zu verwenden? Die Microsoft VM wird je ohnehin mit WinXP gar nicht mehr ausgeliefert.
http://java.sun.com/j2se/1.4.1/docs/guide/plugin/developer_guide/using_tags.html
Hiermit wird die Microsoft-VM verwendet:
<APPLET code="XYZApp.class" codebase="html/" align="baseline"
    width="200" height="200">
<PARAM name="model" value="models/HyaluronicAcid.xyz">
    No Java 2 SDK, Standard Edition v 1.4.1 support for APPLET!!
</APPLET>

Hiermit wird die Sun VM verwendet und ggf. heruntergeladen:
<OBJECT classid="clsid:CAFEEFAC-0014-0001-0000-ABCDEFFEDCBA"
    width="200" height="200" align="baseline"
    codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,1,mn">
    <PARAM name="code" value="XYZApp.class">
    <PARAM name="codebase" value="html/">
    <PARAM name="type" value="application/x-java-applet;jpi-version=1.4.1">
    <PARAM name="model" value="models/HyaluronicAcid.xyz">
    <PARAM name="scriptable" value="true">
        No Java 2 SDK, Standard Edition v 1.4.1 support for APPLET!!
</OBJECT>

Mit:
<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" ...
wird eine vorhandene Sun VM verwendet, auch wenn die Version nicht mit der angegebenen Version übereinstimmt.

viele Grüße

Axel