Java 8更新91期

Java 8 Update 91 Issue

使用 isActive() 方法进行小程序初始化时。它只有 return 未定义。这个问题只出现"Java 8 Update 91"。任何人都可以告诉我加载或不加载精细小程序的解决方案吗?

我使用了以下代码:

function isAppletActive(app) {
 var active = false; 
 try { active = app.isActive(); // IE check }
 catch(ex) { 
 try { active = app.isActive; // Firefox check }
   catch(ex1){ } } //alert(active); return active; 
}

这是 Firefox(最有可能)或 Java 8_91 中的错误。似乎任何对小程序方法的过早调用都会将 link 永久地传送到小程序。

但是,小程序支持有一个检查小程序状态的新功能,通过设置参数<param name="java_status_events" value="true"/>启用。这又允许在加载小程序时检查 status。如果您启用此功能,并使用它来防止在加载小程序之前调用任何小程序方法,则一切正常。

function isAppletActive(app) {
    // assuming `app` is the applet element...
    if(app.status==1) { return false; } // still loading
    if(app.status==2) { throw "Applet load failed"; }

    try { active = app.isActive(); } // IE check 
    catch(ex) { 
        try { active = app.isActive; } // Firefox check 
        catch(ex1) { /* NEVER swallow exceptions! */ } 
    } 
    //alert(active); 
    return active;
}

顺便说一句,Firefox 使用 app.isActive(),而不是 app.isActive,尽管谁知道它过去做了什么。