miércoles, 30 de diciembre de 2020

Como se hizo. Envío de datos desde un juego a la página que lo contiene

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' ')); 

No hay comentarios :

Publicar un comentario