<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Orbiter Room List</title> <!--Load the Orbiter JavaScript library (non-minified version). Use during development.--> <script type="text/javascript" src="http://unionplatform.com/cdn/Orbiter_latest.js"></script> <!--Load the Orbiter JavaScript library (minified version). Use for production.--> <!--<script type="text/javascript" src="http://unionplatform.com/cdn/Orbiter_latest_min.js"></script>--> <!--Application code--> <script type="text/javascript"> //============================================================================== // VARIABLES //============================================================================== var orbiter; var roomlist; //============================================================================== // INITIALIZATION //============================================================================== function init () { // Create the Orbiter instance, used to connect to and communicate with Union, // then enable automatic reconnection (one attempt every 15 seconds) orbiter = new net.user1.orbiter.Orbiter(); orbiter.getConnectionMonitor().setAutoReconnectFrequency(15000); orbiter.getLog().setLevel(net.user1.logger.Logger.DEBUG); // Register for Orbiter's connection events orbiter.addEventListener(net.user1.orbiter.OrbiterEvent.READY, readyListener, this); orbiter.addEventListener(net.user1.orbiter.OrbiterEvent.CLOSE, closeListener, this); // The room listbox roomlist = document.getElementById("roomlist"); roomlist.style.width = "300px"; // Connect to Union Server orbiter.connect("tryunion.com", 80); } //============================================================================== // ORBITER EVENT LISTENERS //============================================================================== function readyListener (e) { orbiter.getRoomManager().addEventListener(net.user1.orbiter.RoomManagerEvent.ROOM_ADDED, roomAddedListener); orbiter.getRoomManager().addEventListener(net.user1.orbiter.RoomManagerEvent.ROOM_REMOVED, roomRemovedListener); // Register to be notified when rooms with the qualifier "examples" are added // to or removed from the server. orbiter.getRoomManager().watchForRooms("examples"); // To be notified when *any* room is added to or removed from the server, remove // the preceding line and uncomment the following line: // orbiter.getRoomManager().watchForRooms(); } // Triggered when the connection is closed function closeListener (e) { } //============================================================================== // ROOM EVENT LISTENERS //============================================================================== // Triggered when a room is added to the server function roomAddedListener (e) { addListOption(e.getRoomID(), e.getRoomID()); } // Triggered when a room is removed from the server function roomRemovedListener (e) { removeListOption(e.getRoomID()); } //============================================================================== // SELECT MANAGEMENT //============================================================================== function addListOption (name, value) { var option; option = document.createElement("option"); option.text = name; option.value = value; roomlist.add(option); } function removeListOption (value) { for (var i = 0; i < roomlist.length; i++) { if (roomlist.options[i].value == value) { roomlist.remove(i); return; } } } </script> </head> <body onload="init()"> <!--Contains the rooms--> <select id="roomlist" size="10" multiple="multiple"> </select> </body> </html>