Paso de variables a un applet

snmrtngrc
31 de Diciembre del 2003
Hola. Quisiera saber si es posible pasar parametros a un applet con la opcion param name, pero en value poner una variable, en lugar de un string entre comillas. Creo q no se puede hacer, pero no estoy segura. En este caso, alguien puede darme otra opcion para poder pasar una variable a un applet a traves de html.

scriptman
31 de Diciembre del 2003
Hola que tal, tu pregunta ya no la hacen tan seguido;
el javascript fue creado con el principal objetivo de servir como enlace para los desarrolladores web entre la pagina y los applets java, por eso se llama "JAVA script", antes del javascript, los programadores debian de diseñar CGI's (programas del lado del servidor) para poder interactuar con sus applets java. Ahora con JS puedes acceder a metodos y variables del applet directamente, PERO éstos deben de ser publicos (public), ejemplo:

tenemos un applet:
<APPLET id="miapplet" name="miapplet" code="elapplet.class" ...blabla....>
<PARAM NAME="mivar" VALUE="equis">
</applet>

y el javascript:
document.miapplet.cambiaMiVar("hola");
o bien document.miapplet.mivar = "hola";

Donde, en el applet tenemos un metodo llamado cambiaMiVar() que actualiza la variable y hace algo con ella, como mostrarla al usuario, o bien asignar un valor a una variable publica y el applet se encarga de hacer algo con el nuevo valor, etc.

Si no tienes acceso al codigo fuente del applet puedes imprimir dinamicamente las etiquetas param con algun lenguaje del lado del servidor (PHP, CGI, ASP), pero tendras que recargar la pagina y mediante una forma y POST (o por la url) mandar las nuevas variables;

Otra posibilidad es dinamicamente con javascript reimprimir todo el applet con nuevos parametros; por ejemplo:

en tu pagina tendrias, en lugar del applet:
<div id="appletDiv"></div>

y el js:

function cambiarParams(NuevaVar1,NuevaVar2){
appletDiv.innerHTML='<APPLET id="miapplet" code="elapplet.class" height="100" width="400"><PARAM NAME="mivar1" VALUE="'+NuevaVar1+'">"><PARAM NAME="mivar2" VALUE="'+NuevaVar2+'"><PARAM NAME="codeBase" VALUE="."></APPLET >'; }

cambiarVar("hola bla bla","123");

(Nota: este ejemplo solo funciona con IE porque usa div+innerHTML, pero puedes usar metodos de DOM, document.write, etc.)
Claro que como se reimprime el applet, se reinicia el mismo.

En resumen, si piensas trabajar un applet dinamicamente con javascript, que el applet este hecho para tales funciones, con sus metodos y variables respectivos.

Saludos, scriptman.
.::Feliz Año Nuevo::.

scriptman
31 de Diciembre del 2003
Ah un detalle, donde dice:
cambiarVar("hola bla bla","123");
debe de decir:
cambiarParams("hola bla bla","123");

saludos... (n_n)'