检测java未安装并提供Javascript链接

时间:2012-02-14 08:42:35

标签: java javascript jquery

我有这个全景查看器,它使用了java,

但是当尝试从firefox和java安装时没有安装时,它警告说需要一些插件,但它没有指定whitch一个或从哪里下载,如果来自......

那么,我可以从javascript中检测用户是否未安装java并为他提供下载链接吗?

3 个答案:

答案 0 :(得分:4)

使用Deployjava.js来测试是否安装了java:

示例代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Deploy Java Test </TITLE>
</HEAD>
<SCRIPT LANGUAGE="JavaScript" src="deployJava.js">
</SCRIPT>
<script type="text/javascript">
function call()
{
    if (deployJava.versionCheck("1.6.0+") || deployJava.versionCheck("1.4") ||    deployJava.versionCheck("1.5.0*")) 
    {
        alert("Java is Enabled");
    } else 
    {
        alert("Java is Not Enabled");
    }
}
</script>
<BODY onload="call();">
</BODY>
</HTML>

工作样本:

http://jsfiddle.net/ym78z/

希望它可以帮助你: - )

答案 1 :(得分:3)

你应该看看Java Deployment Toolkit

 * deployJava.js
 *
 * This file is part of the Deployment Toolkit.  It provides functions for web
 * pages to detect the presence of a JRE, install the latest JRE, and easily run
 * applets or Web Start programs. 

答案 2 :(得分:1)

检测applet是否准备就绪

    <SCRIPT>
    function isAppletReady(a) {
       return a.isActive();
       } 
    </SCRIPT>

    <FORM>
    <INPUT TYPE=button 
       VALUE="Check applet" 
       onClick="if (!isAppletReady(document.applets[0])) alert("not ready");">
    </FORM>

仅在Applet准备就绪时执行Javascript:

<SCRIPT>
function waituntilok() {
   if (document.myApplet.isActive()) {
         doit();
         }
   else {
       settimeout(waituntilok(),5000)
       }
   }

function doit() {
    ....
    }
</SCRIPT>
...
<BODY onLoad="waituntilok();">

以下是解决方案:

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">

onError = errHandler;  
  // Without he parentheses, because we don't want IE
  // to do this. Like this, only NS does.

function appLoaded() {
 if (!document.applets[0].isActive)
    // in IE: isActive returns an error if the applet IS loaded, 
    // false if not loaded
    // in NS: isActive returns true if loaded, an error if not loaded, 
    // so never reaches the next statement
    alert("IE: Applet could not be loaded");
    }

function errHandler() {
 alert("NS: Applet could not be loaded");
 consume();
 // stops further processing of the error
 }

</SCRIPT>
</HEAD>

<BODY onLoad = appLoaded();>
<APPLET code=someClass.class
codeBase=someURL height=50 width=300><PARAM NAME="bgcolor" VALUE="FFFFFF">
</APPLET>
</BODY>
</HTML>
....

</BODY>

希望这对你有用!!