Java 8 обновление 91 выпуск

При инициализации апплета при использовании метода isActive(). Возвращается только неопределенное. Эта проблема возникает только "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; 
}

1 ответ

Это ошибка либо в Firefox (скорее всего), либо в Java 8_91. Похоже, что любой преждевременный вызов метода апплета перенаправляет ссылку на апплет постоянно.

Однако в поддержке апплета появилась новая функция проверки статуса апплета, включаемая с помощью параметра <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Впрочем, кто знает, что он делал в прошлом.

Другие вопросы по тегам