可以,不过我只是在JAVA里实现了.你可以另外写个APPLET,用这个APPLET去检测虚拟机的版,得到版本号.
然后在JS中调用方法得到这个版本号,低于多少就提示安装.

解决方案 »

  1.   

    To:cql0007(蓝月)如果没有安装,另外写的这个applet怎么运行呀?
      

  2.   

    String jvmVersion=System.getProperty("java.version")
    取得版本号
    HtmlConverter.exe 网页.html 转化一下不知道行不行,关注!
      

  3.   

    public String getVersion()
        {
            version = System.getProperty("java.vm.version");
            return version;
        }然后调用这个方法
      

  4.   

    在JS中:
    <script>
    var JVM_version,JVM_vendor;
    var XP_info;
    XP_info = true;
    JVM_version = "";
    try{
    JVM_version = document.applets[0].getVersion();
    }catch(Exception){
    alert("&Atilde;&raquo;&Oacute;&ETH;");
    }
    alert("\t"+JVM_version);
    if(JVM_version.indexOf("1.4.1") != -1){
    //&Euml;&micro;&Atilde;÷&Iuml;&micro;&Iacute;&sup3;&Ograve;&Ntilde;&frac34;&shy;°&sup2;×°&Aacute;&Euml;JVM1.4.1&pound;&not;&Iuml;&Acirc;&Ocirc;&Oslash;sun&micro;&Auml;APPLET;
    applet_ver = "SUN";
    XP_info = false;
    }if(XP_info ==true){
    //&Euml;&micro;&Atilde;÷&Iuml;&micro;&Iacute;&sup3;&sup2;&cent;&Ccedil;&Ograve;&Atilde;&raquo;&Oacute;&ETH;°&sup2;×°1.4.1&micro;&Auml;JVM;
    document.all.xp.style.display = 'block';
    document.form1.Submit.disabled = true;
    }
    不过这个方法检测的时候,只能检测出1.4.1以上的虚拟机的版本,低于那个版本以下的,得到的版本号是空的,这点我也弄不明白.所以我处理的时候,如果版本号中包含了1.4.1,就当有JVM,没包含,就当没有.提示用户安装.
      

  5.   

    To:cql0007(蓝月)多谢,我去试试:),有什么问题还要请你多帮忙呀:)
      

  6.   

    用上面的代码要注意不少东西,其实我觉得有个更简单更衫的的方法,什么都不要检测,你自己看觉得哪个好,操作如下:HTML代码中用<ojbect>代码,但是在代码中不要指定下载JRE的地方,这样,程序检测到系统没有JRE,想下载也没得地方下载了,整个APPLET就会装载错误.
    有HTML代码中,onLoad = isLoad();调用一个JS方法,该方法写法如下:function isLoad(){
      var app;
      try{
          app = document.applets[0];//设当前HTML中只有一个APPLET;
      }catch(exception){
              //如果你确定你的APPLET的装载过程是不会出异常的,那么这里一有异常就肯定是因为虚拟机的原因而没装载成功
            //写要求客户安装虚拟机的代码.
      }
    }