Ich habe eine Webanwendung (struts 1.3, Weblogic 10.3.0, Toplink, Oracle) mit einem Java-Applet, das nicht im Browser funktioniert (IE7 / 8), wenn die Einstellung für das Next-Generation-Plug-in aktiviert ist in der Java-Systemsteuerung, funktioniert aber gut, wenn es deaktiviert ist. Das Problem ist, dass diese Einstellung in einer kommenden Java-Version verschwinden wird, was bedeutet, dass meine Benutzer weiterhin Java 1.6_xx auf ihren Workstations verwenden müssen, wie sie es momentan tun. Ich habe wenig Einfluss darauf, welche Version sie verwenden, da sie alle von ihren lokalen IT-Abteilungen im ganzen Land gesteuert werden. Entweder muss ich einen einfachen Fix finden, um die Next-Generation-Einstellung zu ermöglichen, oder wir müssen das Applet durch etwas anderes ersetzen / neu schreiben (wäre aber aufgrund von Finanzierungsbeschränkungen ein letzter Ausweg), sehr wahrscheinlich etwas AJAX-freundlich, um die Notwendigkeit eines Plugins zu vermeiden. Diese Anwendung ist ziemlich alt, geschrieben um 2001, bevor AJAX wirklich da war.
Das Hauptfenster hat einen linken, rechten und oberen Rahmen (JSPs), sowie einen mittleren Rahmen, wo sich das Applet befindet. Das Applet hat einen Hauptinhaltsbereich in der Mitte und ein unteres Feld an der Unterseite, das einige Knöpfe hat. Die Schaltflächen sagen dem Inhaltsbereich (der im Grunde ein Baumgitter ist), was zu tun ist (Speichern, Kopieren, Status ändern, usw.). Wenn ich eine der Schaltflächen drücke, wird das gesamte Fenster (umgebende Rahmen und das Applet selbst) innerhalb des Bereichs wiederholt, in dem sich das Applet befindet. Es ist wie ein Kaleidoskop oder wie ein sich wiederholendes Fraktalmuster oder wie wenn man ein Bild von sich selbst im Spiegel macht und man sieht, wie sich der Raum im Spiegel immer und immer wieder wiederholt. In diesem Fall wiederholt es sich für jeden Tastendruck und der wiederholte Satz wird jedes Mal kleiner. Seltsam !!
Nach meinen Recherchen funktioniert das Java Next-Generation Plugin anders, indem es mehr als einen Prozess oder Thread erlaubt, während das klassische Plugin nur einen einzigen Thread verwendet. Mein Verdacht ist, dass für jeden Knopfdruck ein neuer Prozess erzeugt wird. Ich habe versucht, den Applet-Parameter "separate_jvm" zu verwenden, aber es machte keinen Unterschied, ob es auf wahr oder falsch gesetzt wurde. Ich sehe keine anderen Applet-Parameter, die relevant zu sein scheinen.
Eine andere Idee, die ich hatte, ist, dass es vielleicht etwas mit dem JSP-Frameset zu tun hat, vielleicht muss etwas wie "target = _top" irgendwo hinzugefügt werden ... aber ich bin mir nicht sicher, wie das mit Applet-Threads zu tun hat.
Hat jemand irgendwelche Vorschläge, Ideen oder Erfahrungen, die helfen könnten?
Sie können Geschwindigkeit verwenden, um diese Art von Problem zu behandeln, und es wird Ihnen auch für die zukünftige Verbesserung auch helfen.
Das Problem betrifft nicht die Version von IE, sondern die Version von Java. Unten Auszug aus dem Brief des Zertifikatsanbieters (sie haben es aus irgendeinem Forum übernommen, daher kann der direkte Link zur Quelle nicht bereitgestellt werden):
Für JDK-Version höher als 1.6.0 und unter 1.6_15, können Sie einfach Löschen Sie alle Arten von Cache in Webbrowser, Java-Konsole und Java-Steuerelement Panel. Dann sollte es gut funktionieren!
Für die JDK-Version zwischen 1.6_15 und 1.6_30 sollten Sie die Java-Option "next-generation java" in der Java Systemsteuerung deaktivieren.
Für eine JDK-Version höher als 1.6_30 sollten Sie die Java-Option "next-generation java" in der Java-Systemsteuerung aktivieren.