Hi,
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.
Es reicht, wenn der Test im Internet Explorer funktioniert, da alle anderen Browser meines Wissens immer das Sun-Java-VM-Plugin benutzen - ich würde also nur in einem Internet Explorer diesen Test auch durchführen:
var vm = "none";
if (navigator.javaEnabled())
{
vm = "Sun";
if (document.all && istDieVerwendeteJavaVMvonMS())
{
vm = "MS";
}
}
Was müßte hier anstelle von istDieVerwendeteJavaVMvonMS() stehen?
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.
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.
Gebe ich aber im Applet-Element im archive-Attribut beides an, wird auch beides heruntergeladen.
Ich habe zwar eine Lösung für die Java VM Erkennung, aber diese erfordert ein Extra-Applet nur für die Erkennung (das Applet wird in die Seite eingehängt, prüft beim Start selbst, unter welcher Java-VM es läuft und gibt diese Information durch Aufruf einer Javascript-Funktion an Javascript weiter.
Schöner wäre jedoch eine Lösung ohne dieses zusätzliche Applet.
Ach so ja, die Abhängigkeit von Javascript macht in diesem Fall nichts aus, da das in diesem Fall sowieso aktiv sein muß...
Meine Suche im Archiv, SelfHTML und Google hat nichts ergeben, aber vielleicht kennt ja hier einer einen Trick?!
Vielen Dank im Voraus für Eure Mühe!
cu,
Andreas
Der Optimist: Das Glas ist halbvoll. - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/