Bestimmen, ob der client-browser java installiert ist und starten können applets
Bin ich Entwicklung einer .aspx-Seite, die letztendlich starten eines applet, nachdem der Benutzer klickt auf eine Schaltfläche (ich bin mit der <applet>
tag). So, ich möchte erkennen, ob java aktiviert/installiert an den browser des Benutzers.
Bin ich mit dem navigator.javaEnabled () - Methode. Jedoch, auch wenn dies gut funktioniert auf IE7, es ist wieder inkonsistente Ergebnisse auf Firefox 3.0.12 (weiß nicht, über verschiedene Browser), manchmal sagen Sie, dass java aktiviert ist (was es ist), und dann nach dem starten des applet und kommen wieder aus dem applet auf dieser Seite wieder, es meldet falsche. Wenn ich firefox schließen und wieder auf das applet-Start-Seite, navigator.javaEnabled() wird der Bericht wieder wahr (richtig).
Gibt es etwas, das der Ermittlung dieses inkonsistente Verhalten oder navigator.javaEnabled() nicht der beste Weg, um die java-applet überprüfen?
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Machen in Ihrem applet eine Methode
Erstellen Sie nun ein applet:
Und nun wickeln Sie diesen code in einige Hilfsfunktion
Warum das funktioniert? Wenn applet ausgeführt wird true zurückgegeben. Wenn applet nicht gestartet werden kann oder Java wird nicht unterstützt, erhalten Sie eine Ausnahme aus, so erhalten Sie false.
Könnte man auch versuchen, das object-tag.
Mit ihm können Sie bestimmen, welche java-version installiert ist und fordert den Benutzer zum herunterladen, falls es nicht vorhanden ist.
Dies ist ein Beispiel-object-tag aus einem app, dass ich die Arbeit an, JRE Komplikationen erforderlich, uns zu führen auf 1.4.2_03 für die Kompatibilität mit anderen Anwendungen.
Classid gibt die Java-version, die Sie laden möchten, können Sie dies auf eine bestimmte JRE, einer bestimmten Familie, also 1.4.X oder was auch immer, die neueste version ist.
Codebase steuert, wo der Benutzer gerichtet ist, wenn Sie nicht erfüllen, was die classid festgelegt ist.
Beachten Sie, dass wenn auf einem client 1.5 oder höher installiert ist, können Sie keine Referenz auf eine ältere JRE aufgrund von Sicherheits-Beschränkungen, Sie können dies überschreiben, über eine Einstellung in der registry im windows, aber ich würde nicht empfehlen es.
Ich glaube, die Sicherheit ist setup Sie können also nur eine Referenz zu einem älteren JRE in der gleichen Familie.
d.h. der Benutzer hat 1.6.0.10 können Sie auf 1.6.0.1 aber nicht gehen, um alles, was in 1.5.X
Obwohl ich glaube, ich erinnere mich an ein Sicherheits-Dialogfeld pop-up, wenn 1.6.0.11, wo nach wie vor wäre es nur Standard-die Anfrage ablehnen.
Gibt es auch ein kommerzielles Produkt namens BrowserHawk.
http://www.cyscape.com/products/bhawk/workshop/detectjava.aspx?bhcp=1
Ich denke, dass diese lib hat das umfassendste Dokumentation und-Implementierung, die ich finden konnte und die ziemlich gut funktioniert
http://www.pinlady.net/PluginDetect/Java/