Weiterleitung mit JavaScript

kirashet

Mitglied
Hallo,

folgendes Szenario:
Ich muss überprüfen, ob Java installiert ist. Das mach ich mit einem Applet. So, wenn Java vorhanden ist, soll er auf eine Seite weitergeleitet werden, wo man die Anwendung starten kann, andernfalls wird man auf eine andere Seite weitergeleitet, wo Information stehen, wo man Java installieren kann.

Code:
<script language="JavaScript">
<!--
function javaPresent()
{
top.location.href="http://www.test1.de";
}
function javaNotPresent()
{
top.location.href="http://www.test2.de";
}
//-->
</script>

<body>
<applet code="JavaVersionDisplayApplet.class"
        codebase="."  height="1" hspace="1" width="1">
	Versionsanzeige funktioniet nur mit Java.
</applet>
	Java vorhanden...
</body>

So, wie kann ich denn nun die Weiterleitungsfunktionen aufrufen?

Weiss einer Rat?

Gruß
 
Code:
top.location.href=(navigator.javaEnabled()) ? "http://www.test1.de":"http://www.test2.de";

..oder halt die Variante aus dem Flash-Thema
 
Nur welches Java?
Ich Tippe mal auf Microsofts.... da gibts irgendwelche Probleme, mit dem Sun-Java nicht.

BTW: drauf sein reicht nicht, es muss im Browser auch aktiviert sein.
 
Nein, das SUN Java ist drauf.
Also nochmal, bitte,

gibt es eine Möglichkeit herauszufinden, ob ein SUN JDK/JRE auf dem Rechner installiert ist, Microsoft Java gilt nicht, nur Sun Java.

Es wäre wirklich super, wenn ihr mir helfen könntet, ist super wichtig... :-)

Gruß
 
Ja.... das steht doch in dem Flash-Detection-Thema.
Die Sache dort hat nur einen Haken: im IE müssen, damit es funktioniert, die "unsicheren" Active-X-Controls zugelassen sein.
Das sind sie standardmässig nicht, und die wird für dich auch niemand aktivieren.

Eine andere Lösung gibt es nicht.
 
Ich hab folgendes probiert.
Eigentlich sollte es so sein, dass der Bereich zwischen <applet></applet> nur ausgeführt wird, wenn es scheitert... siehe:

Code:
<applet code="test.class" codebase="."  height="1" hspace="1" width="1">
	<script language="JavaScript">
<!--
present=1;
//-->
</script>
	</applet>

<script language="JavaScript">
<!--
if ( present==0 ) javaNotPresent();
//-->
</script>

FireFox: present ist 1.
IE: present ist 0.

Wie soll ich so arbeiten?
 
Das heisst mit
Code:
eval ('try {var xObj = new ActiveXObject("java");if (xObj)	result = true; xObj = null; } catch (e)	{}');
müsste es gehen?
Tut es aber nicht, oder ist der Bereich "new ActiveXObject("java")" nicht richtig?
 
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>
 

Neue Beiträge

Zurück