Web程序中的JRE版本检测及JNLP文件的直接打开

在我们开发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=\"#\" onclick=\"clkJNLP('"+url+"')\">点击这里使用该功能</a></p>";
	art.dialog({id:'dg_tip',title:'系统提示',content:ss});
}

 

效果图:


Web程序中的JRE版本检测及JNLP文件的直接打开

在线测试地址:http://t.faqee.com  (注意同一个账号不允许多次登录,如出现重复自动注销,请更换测试账号)

你可能感兴趣的:(JavaScript,Web,浏览器,软件测试,sun)