我有一个Java小程序,它需要Java版本至少7.0.0。
是否有可能检查小程序是否加载失败,并向用户显示需要更新Java软件的消息?
我尝试过使用一些背景,但它只在根本没有Java的情况下显示,否则它会显示带有ClassNotFoundException
信息的白色矩形。这是我的HTML示例,其中包括我的小程序。
<div style="background-image: url('img/appletbg.png'); width: 790px; height: 900px;">
<applet code="MyPackage/MainClass.class"
archive="applet/MyJar.jar" width="790" height="900">
</applet>
</div>
我知道,我可以通过JS计算出安装的Java版本,但这是客户端,我更喜欢在没有任何客户端交互的情况下显示一些消息。
好吧,我已经想出了如何做到这一点,使用AndrewThompson建议,使用JS不需要任何交互
这是我的代码的结果,从这个网站上计算出来:http://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/ensuringJRE.html
<script type="text/javascript" src="http://java.com/js/deployJava.js"></script>
<script type="text/javascript">
if (deployJava.versionCheck("1.7.0_0+") == false) {
userInput = confirm(
"You need the latest Java(TM) Runtime Environment. " +
"Would you like to update now?");
if (userInput == true) {
window.location = "http://java.com/en/download/testjava.jsp";
}
}
else
{
// This are just the sample parameters for now!
var attributes = {id:"applet", name:"TheApplet", code:"TheApplet"};
var parameters = {jnlp_href: "http://localhost/TheApplet.jnlp"};
deployJava.runApplet(attributes, parameters, "1.7.0_0");
}
</script>
也许还不够,但目前我认为你可以使用标签apple:的alt属性
<applet code="MyPackage/MainClass.class" archive="applet/MyJar.jar" width="790" height="900" alt="alternative text">
</applet>
阅读更多的文档,您可以使用oneror事件,但我从未使用过它。
试试这个:
<SCRIPT LANGUAGE="JavaScript">
error= errr;
function loadApplet() {
if (!document.applets[0].isActive)
alert(" Applet could not be loaded");
}
function errr() {
alert("Applet could not be loaded");
}
}
在body onload事件中添加loadApplet方法