PDA

Visualizza la versione completa : prendere una variabile di un applet con javascript


unreal
27-04-2004, 20:33
Salve a tutti, vorrei sapere se è possibile fare questa cosa. Io ho scaricato un'applet java di un giochino. Ho decompilato con uno dei tanti programmi che si trovano sul web il file .class e mi sono accorto che il punteggio del giochino viene memorizzato in una variabile chiamata SCORE.

Ebbene, io con javascript potrei richimare il valore di questa variabile java?

Ho visto che in alcune applet è prevista l'integrazione con javascript (ad esempio questa (http://www.jumpy.it/Canali_J/Giochi/games.shtml?72)), qui è possibile michiare i numeri con il click su una immagine esterna.
Viene così richiamata una funzione dell'applet in questo modo

<script>
document.NOME_APPLET.funzione_applet()
</script>

Quindi io come posso fare a prendere la mia variabile SCORE? Inoltre deve essere presente nell'applet un qualcosa che permetta di far prendere i valori da uno script esterno oppure qualunque variabile o funzione si può richiamare con javascript?

Grazie mille a chiunque mi saprà aiutare.

Ps: sono un analfabeta di java, ma invece me la cavo abbastanza bene con javascript, e leggendo il codice java bene o male qualcosa capisco...

Corwin
27-04-2004, 20:50
Se Score è un campo pubblico o esiste un metodo pubblico getScore()(beh, il nome può cambiare reale della funzione potrebbe essere un altro) allora dovrebbe bastare

var score = document.NOME_APPLET.Score;
o
var score = document.NOME_APPLET.getScore();

unreal
27-04-2004, 21:08
ecco dal codice JAVA il pezzo "incriminato"

final class jnstatus
{

public int getScore()
{
return score;
}

}


se io chiamo document.NOME_APPLET.getScrore() mi da errore. COme mai?

Corwin
27-04-2004, 21:10
'spetta che provo... cmq non me la sentirei di escludere a priori che su alcuni browser non funzioni...

unreal
27-04-2004, 21:12
ma con l'altra applet mi funziona. è questa la cosa strana...

unreal
27-04-2004, 21:15
scusa questa mia domanda da ignorante in java... Al fondo della classe ho trovato ho trovato un elenco delle variabili con questa dicitura...

protected int score;

Cosa si intende con protected?

Grazie mille...

Corwin
27-04-2004, 21:30
Beh, mettiamola così, protected vuol dire che non puoi fare

var score = document.NOME_APPLET.Score; ;)

In ogni caso, dovresti cercare di capire se l'applet possiede un campo public di tipo jnstatus.

unreal
27-04-2004, 21:32
Originariamente inviato da Corwin

In ogni caso, dovresti cercare di capire se l'applet possiede un campo public di tipo jnstatus. [/B]

con campo public intendi il posto dove viene scritto il valore del campo score???


un'altra cosa...
ma sei io ricompilassi l'applet eliminando la voce protected il tutto funzionerebbe?

Corwin
27-04-2004, 21:37
Dipende... se la classe che contiene il campo score è l'applet stessa allora si. Se invece l'applet crea un campo di tipo jnstatus (che a sua volta ha un campo score) devi scoprire come si chiama l'istanza di jnstatus... oppure la faccenda potrebbe essere ancora più complicata...

unreal
27-04-2004, 21:39
bene o male ho capito cosa vuoi dire...solo che ci sono tante righe di codice...

devo cercare bene dove si trova sto campo score...

Come sono scritti i campi in java? Già un'informazione come questa mi velocizza la ricerca. Grazie mille per la tua assistenza. CIAO

Loading