在网页上嵌套Applet,客户端要浏览就必须按照JRE,我们可以通过 JavaScript 和 Applet 判断 JRE 的版本,并要求客户端去下载最新的JRE。
1. 在网页中嵌套Applet。
<APPLET CODE = "DetectPluginApplet" WIDTH = "0" HEIGHT = "0" NAME = "myApplet">
</APPLET>
通过HtmlConverter.exe 把上面的代码转换为:
<object
classid = "clsid:CAFEEFAC-0016-0000-0000-ABCDEFFEDCBA"
codebase = "http://java.sun.com/update/1.6.0/jinstall-1_6_0-windows-i586.cab#Version=6,0,0,86"
WIDTH = "0" HEIGHT = "0" NAME = "myApplet" >
<PARAM NAME = CODE VALUE = "DetectPluginApplet" >
<PARAM NAME = NAME VALUE = "myApplet" >
<param name = "type" value = "application/x-java-applet;jpi-version=1.6">
<param name = "scriptable" value = "false">
<comment>
<embed
type = "application/x-java-applet;jpi-version=1.6" /
CODE = "DetectPluginApplet" /
NAME = "myApplet" /
WIDTH = "0" /
HEIGHT = "0"
scriptable = false
pluginspage = "http://java.sun.com/products/plugin/index.html#download">
<noembed>
</noembed>
</embed>
</comment>
</object>
要注意的是由于我使用的是javac 1.6.0-beta2,存在一个bug,也就是通过HtmlConverter转换的codebase 的地址不存在,我们要手动修改。
codebase = "http://java.sun.com/update/1.6.0/jinstall-1_6_0-windows-i586.cab#Version=6,0,0,86" 为
codebase = "http://java.sun.com/update/1.6.0/jinstall-6-windows-i586.cab"
你要是其他版本的可以参考:http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/autodl-files.html
2. javaScript 调用 applet
document.myApplet; 就可以javaScript 调用 applet
3. applet.htm
<HTML>
<HEAD>
<!-- Generated by Kawa IDE -->
<TITLE>Detect Java Runtime </TITLE>
</HEAD>
<SCRIPT LANGUAGE="JavaScript">
var browsername;
function doNetscape()
{
for (i=0; i < navigator.plugins.length; i++)
{
for (j = 0; j < navigator.plugins.length; j++)
{
if(navigator.plugins[j].type == "application/x-java-applet;version=1.6")
{
alert("You are running Netscape with Java Plugin 1.6.0 - OK");
return;
};
}
}
alert("You are running Netscape/nPlease, install Java Runtime Environment 1.6.0");
}
function doMicrosoft()
{
var applet = document.myApplet;
if(applet == null)
{
alert("You are running Microsoft Browser./nPlease, install Java Runtime Environment 1.6.0");
return;
};
var version = applet.getJavaVersion();
if(version == "1.6.0")
{
alert("You are running IE, Java Plugin 1.6.0 installed - OK");
}
else
{
alert("You are running IE, other plugin installed - mybe OK if later that 1.6.0/nYour version: " + version);
};
}
function getJava()
{
var applet = document.myApplet;
if(applet == null)
{
alert("Please, install Java Runtime Environment");
return;
};
alert("JRE Version: " + document.myApplet.getJavaVersion());
}
function checkJavaPlugin()
{
browsername = navigator.appName;
if(browsername.indexOf("Netscape")!= -1)
{
browsername="NS";
doNetscape();
}
else
{
if(browsername.indexOf("Microsoft")!=-1)
{
browsername="MSIE";
doMicrosoft();
}
else
{
browsername="N/A";
alert("Unknown browser: " + browsername);
}
};
}
</SCRIPT>
<body>
<Strong>Check Java Plugin </strong>
<object id="myApplet"
classid = "clsid:CAFEEFAC-0016-0000-0000-ABCDEFFEDCBA"
codebase = "http://java.sun.com/update/1.6.0/jinstall-6-windows-i586.cab"
WIDTH = "0" HEIGHT = "0" NAME = "myApplet" >
<PARAM NAME = CODE VALUE = "DetectPluginApplet" >
<PARAM NAME = NAME VALUE = "myApplet" >
<param name = "type" value = "application/x-java-applet;jpi-version=1.6">
<param name = "scriptable" value = "false">
<comment>
<embed
type = "application/x-java-applet;jpi-version=1.6" /
CODE = "DetectPluginApplet" /
NAME = "myApplet" /
WIDTH = "400" /
HEIGHT = "320"
scriptable = false
pluginspage = "http://java.sun.com/products/plugin/index.html#download">
<noembed>
</noembed>
</embed>
</comment>
</object>
<FORM>
<INPUT TYPE="button" value="Get Plugin Version in IE" onClick="getJava()">
<INPUT TYPE="button" value="Check Java Plugin in NS and IE" onClick="javascript:checkJavaPlugin()">
</FORM>
</BODY>
</HTML>
4. DetectPluginApplet.java
import java.awt.*;
public class DetectPluginApplet extends java.applet.Applet
{
public void init()
{
add(new Label("DetectPluginApplet"));
}
public String getJavaVersion()
{
return System.getProperty("java.version");
}
}
在网页中嵌套Applet
最新推荐文章于 2021-06-20 18:15:23 发布