在我们开发Web应用程序中,经常会碰到有些功能Web中无法实现,用Applet或jnlp方式实现,当这些模块在Web中加载时,必须检测客户端环境,sun为我们提供了这个js文件,可以使用deployJava.js,这个文件你也可以在本文附件中下载,常用的几个函数:
JRE环境检测,一行代码搞定:
deployJava.getJREs();
自动安装JRE环境:
deployJava.installLatestJRE()
生成jnlp链接按钮:
deployJava.createWebStartLaunchButton(jnlp)
以下是视频会议系统中关于此部分的应用实例,在这个例子中,由于屏幕录制功能必须借助applet实现,我们利用jnlp文件启动,首先在事件触发后,检测客户端JRE版本是否是1.6以上,如不是,提醒用户安装升级,如是,则提醒用户是否安装有迅雷之类的软件,如有,还需做番迅雷的设置修改(这部分不知道有没有更好的办法,因为有迅雷就会直接下载而无法直接打开jnlp文件了),全部的代码如下:
function jcJRE(){ try{ var ss = deployJava.getJREs(); ss = ss+""; if(ss.indexOf("1.6")>=0){ return ("你可以正常使用这个功能,你机器上目前包含JRE的版本:"+deployJava.getJREs()); }else{ return ("你当前JRE版本:"+deployJava.getJREs()+",版本不够新,请<a href=\"javascript:void(deployJava.installLatestJRE());\">点击这里</a>升级,否则将无法使用本系统提供的录制会议功能!"); } }catch(e){ return("你当前JRE版本:"+deployJava.getJREs()+",版本不够新,请<a href=\"javascript:void(deployJava.installLatestJRE());\">点击这里</a>升级,否则将无法使用本系统提供的录制会议功能!"); } } function qzUpdate(){ deployJava.installLatestJRE(); } function clkJNLP(url){ art.dialog({id:'dg_tip'}).close(); window.open(url); } function openJNLP(url){ var ss = jcJRE()+"<p style='font-weight:bold'>如果你当前机器上安装有迅雷之类的下载软件,请按如下操作:</p><p style='color:red'>打开迅雷-工具-配置-监视设置-监视浏览器 将监视浏览器复选框的勾去掉即可</p>"; ss+= "<p>如果都没有问题,请<a href=\"#\" οnclick=\"clkJNLP('"+url+"')\">点击这里使用该功能</a></p>"; art.dialog({id:'dg_tip',title:'系统提示',content:ss}); }
效果图:
在线测试地址:http://t.faqee.com (注意同一个账号不允许多次登录,如出现重复自动注销,请更换测试账号)