Un juego puede enviar datos a la página html que lo contiene, es más, desde los juegos se pueden ejecutar sentencias no complejas de javascript. La forma de realizarlo se indica en este artículo.
En un evento o control, se ejecuta la acción abrir URL y en parámetro se introduce javascript:void(); poniendo dentro de los paréntesis la instrucción javascript que se desea ejecutar. Si se repite la instrucción javascript:void(); con su correspondiente instrucción javascript, dichas instrucciones se ejecutarán sucesivamente.
acción='abrir URL'
parámetro='javascript:void(INSTRUCCIONES JAVASCRIPT);
Vamos a incluir un ejemplo. En el cuerpo html de la página que contiene un juego tenemos los siguientes tres elementos cada uno con su id:
<span id="textoRecibido1">
<span id="textoRecibido2">
<span id="textoRecibido3">
Desde el juego, a través de un control o un evento vamos a ejecutar la acción abrir URL y a través de su parámetro invocaremos instrucciones javascrit con javascript:void(); a través de la cual enviaremos información a los elementos html desde el juego que la contiene:
- Enviamos al elemento textoRecibido1 el valor 50 al ejecutar la acción abrir URL.
acción='abrir URL' parámetro='javascript:void(document.getElementById('textoRecibido1').textContent = '50');'
- Enviamos al elemento textoRecibido2 la fecha actual a través de la función Date() al ejecutar la acción abrir URL.
acción='abrir URL' parámetro='javascript:void(document.getElementById('textoRecibido2').textContent = Date());'
- Enviamos al elemento textoRecibido3 el valor de la variable del juego [SAM] al ejecutar la acción abrir URL.
acción='abrir URL' parámetro='javascript:void(document.getElementById('textoRecibido3').textContent = [SAM]);'
Como hemos comentado inicialmente, no sólo se pueden enviar datos, sino que se pueden ejecutar funciones javascript de distinta naturaleza, como por ejemplo:
- Cambiar los estilos de la página:
javascript:void(document.body.style.backgroundColor='yellow');
- Poner mensajes emergentes, que pueden incluir variables númericas o de texto:
javascript:void(alert(('Mensaje emergente'));
javascript:void(alert(([variableNumerica]);
javascript:void(alert(('[variableTexto]'));
- Abrir una ventana nueva:
javascript:void(alert(window.open('http://newton.proyectodescartes.org/juegosdidacticos/','','scrollbars=1,with=400, height=300'));
- Pasar datos una web independiente:
javascript:void(alert(window.open(' 'web-receptora.html?= '+dat1+';@&'+dat2+'@&'+dat3+'&'+dat4','','with=300, height=300' '));