Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当Java小程序加载失败时,如何显示消息?_Java_Php_Javascript_Html_Applet - Fatal编程技术网

当Java小程序加载失败时,如何显示消息?

当Java小程序加载失败时,如何显示消息?,java,php,javascript,html,applet,Java,Php,Javascript,Html,Applet,我有一个Java小程序,它需要Java版本。至少7.0.0 是否有可能检查小程序是否加载失败,并向用户显示需要更新Java软件的消息 我试着使用一些背景,但它只在根本没有Java的情况下显示,否则它会显示带有ClassNotFoundException信息的白色矩形。下面是我的HTML示例,其中包括我的小程序 <div style="background-image: url('img/appletbg.png'); width: 790px; height: 900px;">

我有一个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版本,但它是客户端的,我更喜欢在没有任何客户端交互的情况下显示一些消息。

可能还不够,但目前我认为您可以使用apple的标签:

<applet code="MyPackage/MainClass.class" archive="applet/MyJar.jar" width="790" height="900" alt="alternative text">
</applet>
事件,也许您可以使用,但我从未使用过它

试试这个:


error=errr;
函数loadApplet(){
如果(!document.applets[0].isActive)
警报(“无法加载小程序”);
}
函数errr(){
警报(“无法加载小程序”);
}
}

在body onload事件中添加loadApplet方法

好的,我已经通过AndrewThompson的建议找到了实现方法,使用JS不需要任何交互。

这是我的代码的结果,从这个网站上可以看出:


如果(deployJava.versionCheck(“1.7.0_0+”)==false){
用户输入=确认(
“您需要最新的Java(TM)运行时环境。”+
“您想现在更新吗?”);
如果(userInput==true){
window.location=”http://java.com/en/download/testjava.jsp";
}
}
其他的
{
//这只是目前的示例参数!
var属性={id:“applet”,名称:“TheApplet”,代码:“TheApplet”};
var参数={jnlp_href:“http://localhost/TheApplet.jnlp"};
runApplet(属性、参数,“1.7.0_0”);
}

因此,您希望在不与客户端交互的情况下了解客户端版本。我想你会发现这是不可能的,这并不能回答你的问题,但我发现仅仅使用Java6是很有帮助的。很多人都没有Java7,继续处理bug报告很烦人。同意@Doorknob。您使用Java7有什么特别的原因吗?您是否使用了7独有的特定功能?“但这是客户端,我更喜欢在没有任何客户端交互的情况下显示一些消息。”什么是“客户端交互”?JS通常会在终端用户没有任何提示或操作的情况下运行。对于OS X,我相信苹果不再更新Java 6,因此它存在安全缺陷,唯一更新的版本是Oracle自己的Java 7。因此,支持Java7是有意义的。但是,这不应是小程序的要求。
alt
属性仅在用户已安装Java但已禁用时显示。当没有安装JRE时,或者当JRE加载但在小程序中发现错误时,它没有效果。我花了一辈子的时间思考alt attr对错误有效!谢谢!:)
onload
事件通常会在浏览器解析页面元素后立即调用。有了它,它很可能会在用户授权对话框之前被触发,甚至在用户弄清楚它的用途之前被触发。相反,在一定的时间限制内,有必要在循环中执行此检查。
<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>