Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754

    Scambio dati tra Javascript e Java

    Ciao, è la prima volta che scrivo qui e non so se è il forum giusto.
    La mia domanda è questa:

    E' possibile scambiare dati, al limite anche una stringa, tra Javascript e un'applet Java?
    Se così fosse sarebbe interessante esplorare le possibilità nel creare pagine dinamiche usando Javascript come interfaccia e Java come 'motore'.

    Purtroppo non riesco neppure ad accedere a funzioni pubbliche della classe...(l'applet di test a scanso di equivoci funziona)

    Se conoscete dei link o avete delle dritte ne sarei grato...perchè dal canto mio ho trovato poco.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Benvenuto sul forum

    Prendi contatto con l'autore di questo thread: http://forum.html.it/forum/showthrea...hreadid=708945
    mi pare che stia sperimentando sullo stesso argomento

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    Davvero veloce!

    Thanks!

  4. #4
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    Intanto qui ho trovato alcuni esempi interessanti.

    Sono anche riuscito a leggere una stringa dall'applet e a sciverla a video tramite javascript (beh...è già qualcosa!) ma rimangono problemi angosciosi :

    Con IE6 anche se modifico e ricompilo la applet (.class) e aggiorno la pagina non c'è alcuna differenza! Questo avviene anche se rimuovo fisicamente il file!!! Certamente IE usa una cache da qualche parte ma come fare a forzare il ricaricamento?

    Con Opera e Mozilla se chiedo il reload non funziona più (stringa vuota)!
    Tuttavia riavviando il browser le modifiche appaiono.
    Fino a quando non viene più riavviato neppure il browser!!!

    Riporto l'HTML
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    <applet name="TestApplet" 
            id="TestApplet" 
            code="TestApplet.class" 
            width="0" height="0" >
    </applet>
    
    </head>
    
    <body>
    
    
    <script language="Javascript">
    
    var testo = ">>>";
    
    testo += document.TestApplet.GetInfo();
    
    document.write(testo);
    
    </script>
    
    </body>
    </html>
    mentre il codice Java è
    codice:
    import java.applet.*;
    import java.awt.*;
    
    public class TestApplet extends Applet
    {
    
     public String GetInfo()
     {
      String ret = "OK";
      return(ret);
     }
    
    }
    Non mi sembra che con una cosa così semplice abbia fatto cose molto strane! L'effetto è la semplice scritta '>>>OK' dove OK dovrebbe dimostrare l'output del modulo Java...

    Inoltre ho letto che questo meccanismo sembra funzionare solo su OS Windows ma non ho ancora verificato.

  5. #5
    farlo si riesce, ma non so se è valido su tutti i browser e su tutte le piattaforme... poi non userei java come motore, ma non so bene cosa vuoi fare!
    Ti scrivo il codice della mia 1° prova...
    Applet Java
    codice:
    import java.awt.*;
    import java.applet.*;
    
    
    public class AKKAremote extends Applet {
    	
    	public void init() {
    	}
    	
    	public String leggi(){
    	 return "Hello World";
    	}
    
    	public void paint(Graphics g) {
    		g.drawString("Welcome to Java!!", 50, 60 );
    	}
    }
    pagina HTML
    codice:
    <HTML>
    <HEAD>
    <script language="JavaScript">
    function scriviDIV(div,testo){
     myDiv=document.getElementById(div);
     myDiv.innerHTML=testo;
    }
    
    function vis(){
     var ss=window.document.AKKA.getVersione();
     scriviDIV("txt",ss);
    }
    </script>
    </HEAD>
    <BODY>
    <CENTER>
    
    <APPLET
    	code	= "AKKAremote.class"
    	width	= "500"
    	height	= "300"
    	name 	= "AKKA"
    	id	= "AKKA"
    	mayscript
    	>
    </APPLET>
    </CENTER>
    <input type="Button" value="clicca" onclick="vis()">
    <div id="txt"></div>
    </BODY>
    </HTML>
    Attenzione ad usare gli archivi che su opera mi hanno dato problemi.

  6. #6
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    Grazie! Comunque i problemi continuano a esserci.

    Se cambio il codice (stringa di ritorno) continuo a non vedere le modifiche! Neppure riavviando IE!

    Allo stato attuale delle cose non mi pare il caso di proseguire nell' 'esperimento' !

    Grazie ancora comunque!


  7. #7
    Le applet rimangono in cache in un modo molto "prepotente" (questo è quello che ho notato io), quindi forse è li il problema.

  8. #8
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    Già! Talmente 'prepotente' che addirittura continua a essere avviata anche quando elimino il .class !!!
    Questo fatto di certo non aiuta a sviluppare il connubio Java+Javascript che a mio avviso potrebbe essere promettente...

  9. #9
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    Sul sito della Sun ho trovato questo articolo .

    Non sono però riuscito a usare il tag <OBJECT> sostitutivo di <APPLET> (teoricamente deprecato).

    Con OBJECT è possibile forzare il ricaricamento della applet.

  10. #10
    devo essere sincero... non capisco perchè vuoi forzare il ricaricamento dell'Applet... Me lo spieghi?
    Tu sei riuscito a provare su Mac se la lettura avviene? Quello è sicuramente il dramma più grosso da superare!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.