Solució envia missatge
De wikiserver
Solució de la primera part de l'exercici. Una finestra que envia un missatge a una altre. L'altre finestra agafa el missatge i l'escriu.
Codi amb el HTML :
<html> <head> <script type="text/javascript" src="missatges.js"></script> <style type="text/css"> html { font-family: "courier new"; } </style> </head> <body > Finestra Principal. PAs de missatges <button onClick="openWindow();">obrir finestra</button> <button onClick="sendMessage();">enviarMissatge</button> <div id="resposta"></div> </body> </html>
Codi amb el Javascript (fitxer anoment missatges.js)::
var win; function openWindow(){ // es crea la finestra win = window.open('', 'exemple', 'width=300,height=300'); //es crea un element div amb informació dintre var div2 = win.document.createElement('div'); div2.setAttribute('id', 'mess'); div2.innerHTML="Hola a Totos"; div2.style.fontSize = '15px'; win.document.body.insertBefore(div2, win.document.body.firstChild ); //també es pot sustituir per: win.document.body.appendChild(div2); //s'associa una funció, anomenada listener' que escolta si algú l'ha enviat informació' win.addEventListener("message", listener, false); //es defineix la funció anomenada listener: function listener(event){ //modifica el div creat pel contingut enviat pel usuari de l'altre pàgina.' win.document.getElementById("mess").innerHTML = "rebut: "+ event.data; } } function sendMessage(){ var text = prompt("Envia un text a la finestra que s'ha obert"); try{ //enviem un missatge a la finestra win sense importar l'origen, per aixó possem '*' win.postMessage(text, "*"); } catch(e) { alert(e); } }