2012-12-07 12 views
8

Ho un'applicazione web (puntine 1.3, Weblogic 10.3.0, Toplink, Oracle) che ha un'applet Java che non funziona nel browser (IE7/8) quando il L'impostazione del plug-in di prossima generazione è abilitata nel pannello di controllo Java ma funziona correttamente quando è disabilitata. Il problema è che questa impostazione è destinata a scomparire in una prossima release Java, il che significa che i miei utenti dovrebbero continuare a utilizzare Java 1.6_xx sulle loro workstation così come sono attualmente. Ho poca influenza su quale versione usano perché sono tutti governati dai loro dipartimenti IT locali in tutto il paese. Quindi, o devo trovare una soluzione semplice per consentire il funzionamento delle impostazioni di prossima generazione, o dobbiamo cercare di sostituire/riscrivere l'applet con qualcos'altro (ma sarebbe l'ultima risorsa a causa dei vincoli di finanziamento), molto probabilmente qualcosa AJAX-friendly in modo da evitare la necessità di un plug-in. Questa applicazione è piuttosto vecchia, scritta intorno al 2001 prima che AJAX fosse davvero in circolazione.java applet usando il plug-in di prossima generazione

La finestra principale ha un frame sinistro, destro e superiore (JSP), nonché un frame centrale in cui si trova l'applet. L'applet ha un'area di contenuto principale nel mezzo e un pannello inferiore nella parte inferiore che ha alcuni pulsanti. I pulsanti indicano l'area del contenuto (che in pratica è una treegride) cosa fare (salvare, copiare, cambiare lo stato, ecc.). Quando premo uno dei pulsanti, l'intera finestra (i frame circostanti più l'applet stessa) si ripetono all'interno dell'area in cui si trova l'applet. È come un caleidoscopio o come una specie di ripetizione di un frattale, o come quando scatti una foto di te stesso allo specchio e vedi la stanza ripetersi più volte nello specchio. In questo caso, si ripete per ogni pressione di un pulsante e il set ripetuto diventa più piccolo ogni volta. Strano!!

Quindi, in base alla mia ricerca, il plug-in Java Next-Generation funziona in modo diverso consentendo più di un processo o thread mentre il plug-in classico utilizza solo un singolo thread. Quindi il mio sospetto è che venga generato un nuovo processo per ogni pressione di un pulsante. Ho provato a utilizzare il parametro dell'applet "separate_jvm" ma non ha fatto alcuna differenza se è stato impostato su true o false. Non vedo altri parametri di applet che sembrano rilevanti.

Un'altra idea che ho è che forse ha qualcosa a che fare con il set di frame JSP, forse qualcosa come "target = _top" deve essere aggiunto da qualche parte ... ma non sono sicuro di come questo si riferisca ai thread di applet, se non del tutto

Chiunque ha suggerimenti, idee o esperienze che potrebbero essere d'aiuto?

+1

* "Ho un'applicazione Web (puntine 1.3, Weblogic 10.3.0, Toplink, Oracle) con un'applet Java." * Correggi l'applet. Se la sorgente dell'applet non è disponibile, se l'applet non è supportata, cercane una nuova. –

+0

perché non si compila l'applet con un nuovo JDK, in modo che l'applet funzioni perfettamente nel plug-in di prossima generazione? –

+0

Ho il codice sorgente e l'ho compilato usando l'ultimo 1.6 JDK, ma purtroppo ancora nessun aiuto. Il plug-in di nuova generazione è stato introdotto in 1.6_10 e ho provato a ricompilare con 1.6_32. –

risposta

0

è possibile utilizzare velocity per gestire questo tipo di problema e sarà anche di aiuto per futuri miglioramenti.

0

Il problema non è correlato alla versione di IE ma piuttosto alla versione di Java. Qui di seguito stralcio dalla lettera di autorità di certificazione (hanno preso da qualche forum, in modo collegamento diretto al sorgente non possono essere fornite):

Per la versione JDK superiore a 1.6.0 e al di sotto 1.6_15, si può semplicemente cancellare tutti tipi di cache nel browser web, console java e controllo java pannello. Quindi dovrebbe funzionare bene!

Per la versione JDK tra 1.6_15 e 1.6_30, è necessario disabilitare l'opzione "java di prossima generazione" nel pannello di controllo java.

Per la versione JDK superiore a 1,6_30, è necessario attivare l'opzione "java di prossima generazione" nel pannello di controllo java.