2015-09-09 7 views
1

У меня возникли проблемы с Java-апплетами, так как мой клиент обновил свою среду Java до версии java 1.8. U60.Java Applet init очень медленно - java 1.8. u60

Апплет init всегда ужасен медленно при запросе страницы. Проблема появляется только в IE (протестировано 8, 10, 11), никаких проблем с Firefox!

IE - Console -Log Java:

AppletExecutionRunnable - applet.init() BEGIN ; jvmLaunch dt 275883 us, 
pluginInit dt 196499884 us, TotalTime: 196775767 us 
basic: PERF: AppletExecutionRunnable - applet.init() BEGIN ; jvmLaunch 
dt 275883 us, pluginInit dt 196499884 us, TotalTime: 196775767 us 

подробно IE - Java Console -Log, где поведение происходит:

basic: Applet-Teardown wird gestartet 
preloader: Delivering: ApplicationExitEvent 
preloader: Enqueue: [email protected] 
basic: Applet-Teardown beendet 
basic: PluginMain.unregisterApplet: 10 from mananger 
[email protected] 
ui: plugin2manager.parentwindowDispose 
basic: Fortschritts-Listener entfernt: 
[email protected] 
preloader: Start progressCheck thread 
preloader: Stop progressCheck thread queue.size()=0 
basic: Applet-Teardown wird gestartet 
preloader: Delivering: ApplicationExitEvent 
preloader: Enqueue: [email protected] 
basic: Applet-Teardown beendet 
basic: PluginMain.unregisterApplet: 11 from mananger 
[email protected] 
ui: plugin2manager.parentwindowDispose 
preloader: Stop progressCheck thread queue.size()=0 
---------20s stop here--------- 
preloader: Construct preloader delegate 
preloader: Construct preloader delegate adapter=class 
com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter 

FF - Java Console -log:

ppletExecutionRunnable - applet.init() BEGIN ; jvmLaunch dt 330332 us, 
pluginInit dt 687763051 us, TotalTime: 688093383 us 
basic: PERF: AppletExecutionRunnable - applet.init() BEGIN ; jvmLaunch 
dt 330332 us, pluginInit dt 687763051 us, TotalTime: 688093383 us 

Что я могу сделать, чтобы выяснить или решить проблему?

+0

У меня такая же проблема .. любое решение рядом с обходным объяснено ниже в ответе? –

+0

Конечно, мы решили удалить Java-апплет и заменить его другой Framework, потому что никто не знает, как долго будет работать такой способ обхода ... Может быть, только до следующего обновления Java, а затем вы начнете с нового. – blub

ответ

3

Используйте JavaScript, чтобы изменить существующий тег и вставить тег APPLET. Здесь я также вставить тег для изменения в JavaScript document.write('<div id="java-rsaspobj">Java Applet comes here</div>');

function rsaspobj_init(codebase, status_report, direct_applet_tag) { 
    var elem = document.getElementById("java-rsaspobj") 
    if (!elem && !direct_applet_tag) { 
     alert('HTML div with id java-rsaspobj is missing on this page'); 
     return; 
    } 
    var applet_tag = '<APPLET id="RSAspProxyApplet" name="RSAspProxyApplet"' 
     + ' codebase="' + codebase +'"' 
     + ' code="RSProxy" archive="RSProxy.jar"'; 
    if (status_report) 
     applet_tag += ' height="100" width="100" java_status_events="true"'; 
    else 
     applet_tag += ' height="0" width="0"'; 
    applet_tag += '></APPLET>'; 
    if (direct_applet_tag) 
     document.write(applet_tag); // 20 sec delay 
    else 
     elem.innerHTML = applet_tag; // no delay 
} 
+0

Как ни странно, это устранило проблемы производительности для меня. Просто поставьте вызов модифицированной версии кода выше в теге 'onload' тела и все в порядке. Есть ли файлы ошибок с оракулом? – nbred

+0

Такая же проблема при использовании $ (селектор) .replaceWith (applettag). Решено просто назначить innerHTML, когда браузер IE. –