Cada página abierta recibe un identificador único que se utiliza con el fin de recibir las comunicaciones de forma unívoca. La propiedad
window.name
se usa para almacenar dicho ID. UniversalComet forma parte de Joose, un sistema de meta objetos para Javascript. La librería Dojo ofrece características similares aunque Joose está más enfocada en este tipo de características y funciona con otras librerías como jQuery. La técnica usada en este ejemplo hace uso de otra descrita en este blog hace unas semanas.
Demo incrustada:
* puedes abrir más ventanas para comprobar como los mensajes emitidos en cualquier de ellas se reciben por todas las demás...
Cada página abierta mantiene una conexión con el servidor para recibir actualizaciones (necesarias para un chat o una web de información sobre valores de bolsa). Si Google Gears está disponible (aunque no es necesario para que funcione), se usa una única conexión a nivel de navegador. El código es realmente sencillo:
// es necesario cargar primero la librería: // <script type="text/javascript" src="http://universal-comet.appspot.com/static/client-server-mini.js"></script> var server = new Addressable.Server(); server.onmessage = function (message) { alert(message) } server.connect(function (id, url) { // send url to you server using AJAX })
No hay comentarios:
Publicar un comentario