Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Antwort
 
Themen-Optionen
Alt 08.06.2005, 14:41   Nach oben    #1
kirashet
Gast
 
Beiträge: n/a
Standard Abfrage, ob Java installiert ist

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()
, die leider nur überprüft, ob das Browser-Plugin aktiviert ist, aber unterscheidet nicht zwischen MicrosoftJava und Sun Java.
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;
	}
Alle Mozilla-Browser haben keine Probleme, aber beim IE funktioniert es nicht.

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>
FireFox: present=1;
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
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.06.2005, 14:43   Nach oben    #2
kirashet
Gast
 
Beiträge: n/a
Standard

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 ^^
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.06.2005, 16:40   Nach oben    #3
peschmae
Erfahrener Benutzer
 
Benutzerbild von peschmae
 
Registriert seit: 29.05.2004
Beiträge: 228
Standard

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
peschmae ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.06.2005, 16:46   Nach oben    #4
kirashet
Gast
 
Beiträge: n/a
Standard

Vielen Dank für die Antwort.
Das Applet ist eigentlich nur eine Notlösung, um herauszufinden, ob auf der Maschine überhaupt Java installiert ist...
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.06.2005, 17:53   Nach oben    #5
kirashet
Gast
 
Beiträge: n/a
Standard

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>
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.06.2005, 18:49   Nach oben    #6
Gottzilla
Erfahrener Benutzer
 
Benutzerbild von Gottzilla
 
Registriert seit: 02.02.2005
Beiträge: 513
Standard

Danke, dass ist bestimmt mal nützlich ...
__________________
Gottzilla ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ä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


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:26 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44