![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Gast
Beiträge: n/a
|
Hallo Leute,
folgendes: wenn ein Anwender auf eine bestimmte Seite kommt, muss ich abfragen, ob der User SUN Java installiert hat. Jetzt hab ich ewig recherchiert, bin aber zu keinem Ergebnis gekommen. Zum einen gibt es die JavaScript Funktion Code:
navigator.javaEnabled() Desweiteren hab ich's folgendermassen probiert: Code:
function javaInstalled()
{
result = false;
if (navigator.mimeTypes && navigator.mimeTypes["application/x-java-vm"])
{
result = navigator.mimeTypes["application/x-java-vm"].enabledPlugin;
}
else if (document.all && (navigator.appVersion.indexOf("Mac")==-1))
{
// IE Windows only -- check for ActiveX control, have to hide code in eval from Netscape (doesn't like try)
eval ('try {var xObj = new ActiveXObject("java");if (xObj) result = true; xObj = null; } catch (e) {}');
}
return result;
}
Das letzte was ich probiert hatte war ein Applet auszuführen. Ich habe Hinweise gekriegt, dass der Block zwischen <applet> und </applet> nur ausgeführt wird, wenn das Applet nicht starten kann, warum auch immer... Das Problem ist aber, wenn ich zwischen diesem Block JavaScript hinzufüge, wird der bei FireFox trotzdem durchlaufen, beim IE jedoch nicht. Siehe: Code:
<applet code="test.class" codebase="." height="1" hspace="1" width="1"> <script language="JavaScript"> <!-- present=1; alert( present ); //--> </script> </applet> <script language="JavaScript"> <!-- alert( present ); if ( present==0 ) javaNotPresent(); //--> </script> IE: present=0; Wie soll ich so arbeiten? Also, zu meiner Frage: Gibt es eine zuverlässige Methode herauszufinden, ob SUN Java installiert ist? Ich hoffe, ihr könnt mir helfen. Ich brauch das dringend. -- kirashet |
|
|
|
Nach oben #2 |
|
Gast
Beiträge: n/a
|
Bevor jmd. auf die Idee kommt mir unter die Nase zu reiben
"Java!=JavaScript" :mad: Mir ist das durchaus bewusst, aber hier geht es doch u.a. um Applets und ich dachte, jemand, der sich genauer mit Applets auseinandergesetzt hat, ist vielleicht auf die gleiche Problematik gestossen :rolleyes: in diesem Sinne ^^ |
|
|
|
Nach oben #3 |
|
Erfahrener Benutzer
Registriert seit: 29.05.2004
Beiträge: 228
|
Ich habe *keine Ahnung* davon weil ich in meinem Leben erst ein Applet geschrieben habe. Es werden auch nicht mehr werden - ich mag Applets nämlich nicht. Ähm, also.
Ich würde wenn ich dich wäre mal auf www.map24.de gucken - das ist der einzige Ort den ich kenne wo Applets verwendet werden (und Sinn machen) - und die Erkennung dort scheint recht gut zu funktionieren. MfG Peschmä
__________________
Amazon.de | The Java Trap | Freie Software | Freie Software vs. Open Source | GNU Classpath | GCJ | SableVM "We should forget about small efficiencies, say about 97% of the time: Premature optimization is the root of all evil." - Donald Knuth |
|
|
|
|
|
Nach oben #5 |
|
Gast
Beiträge: n/a
|
Die Lösung, falles jemanden interessiert ^^
Code:
<html>
<head>
<title>Detect Java VM and Java Web Start</title>
</head>
<style type="text/css">
BODY { font-family: Arial, sans-serif }
TH { text-align: left }
</style>
<script language="javascript" type="text/javascript">
var browserInfo = navigator.userAgent;
// variable to check if Java Web Start is installed
var jwsInstalled = 0;
// Microsoft VM?
var msvmInstalled = 0;
// Sun VM?
var sunvmInstalled = 0;
// variable to check if client is MSIE
isIE = "false";
// If we are using
if(navigator.mimeTypes && navigator.mimeTypes.length)
{
var flag = navigator.mimeTypes['application/x-java-jnlp-file'];
if(flag)
{
jwsInstalled = 1;
}
}
else
{
isIE = "true";
}
// We are using another browser, not MSIE
// Opera, Mozilla, Firefox, etc...
if(isIE == "false")
{
javaEnabled = window.navigator.javaEnabled();
alert( javaEnabled );
if(javaEnabled)
{
javaVendor = java.lang.System.getProperty("java.vendor");
alert( javaVendor );
if(javaVendor.indexOf("Sun ") != -1 || javaVendor.IndexOf("sun ") != -1)
{
sunvmInstalled = 1;
}
}
}
// Our client is using MSIE
else
{
// check if ActiveX objects can be created
try
{
// Create Sun Java plugin ActiveX object
var pluginObject = new ActiveXObject("JavaPlugin");
// Create Java Web Start ActiveX object
var jwsObject = new ActiveXObject("JavaWebStart.isInstalled");
}
// they cannot be created
catch(e)
{
// Sun Java plugin and Java Web Start not installed
sunvmInstalled = 0;
jwsInstalled = 0;
}
// Sun Java VM object successfully created?
if(pluginObject)
{
// Yep! We have the Sun Java VM plugin installed
sunvmInstalled = 1;
}
// Java Web Start object successfully created?
if(jwsObject)
{
// Yep! We have Java Web Start installed
jwsInstalled = 1;
}
// Minimal Code Hack
// All versions of Windows up to 2000 have Microsoft VM installed by default
// No official Microsoft VM is distributed for Windows XP and above
// Users of Windows XP and above will be required to install the Sun Virtual Machine
var UserAgent = navigator.userAgent;
if(UserAgent.indexOf("Windows 95") != -1 || UserAgent.indexOf("Windows 98") != -1 || UserAgent.indexOf("Windows NT 5.0") != -1)
{
msvmInstalled = 1;
}
}
</script>
<body>
<table cellspacing="0" cellpadding="5" width="400">
<tr><th>Java Version</th> <th>Installed</th></tr>
<tr><td>Microsoft Java VM</td> <td><script language="javascript" type="text/javascript">if(msvmInstalled == 1) { document.write("yes"); } else { document.write("no"); }</script></td></tr>
<tr><td>Sun Java VM</td> <td><script language="javascript" type="text/javascript">if(sunvmInstalled == 1) { document.write("yes"); } else { document.write("no"); }</script></td></tr>
<tr><td>Java Web Start</td> <td><script language="javascript" type="text/javascript">if(jwsInstalled == 1) { document.write("yes"); } else { document.write("no"); }</script></td></tr>
</table>
</body>
</html>
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Developers-guide.net Projekt sucht willige Java Programmierer | beny_mcde | Projekte unserer Mitglieder | 11 | 10.08.2006 13:03 |
| [JAVA] Wie man aus Java mit einem PHP-Script kommuniziert | sparrow | Tutorials | 0 | 25.03.2006 22:24 |
| [BUCH] Java ist auch eine Insel | kampet | Literatur | 5 | 22.02.2005 14:40 |
| Zwist um Java als Open Source | kampet | Nachrichten | 0 | 05.07.2004 03:37 |