UNPKG

stompjs

Version:

STOMP for JavaScript apps (Web browser & node.js)

150 lines (139 loc) 5.3 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Chat Example Using STOMP Over WebSockets</title> <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link href="/css/bootstrap.min.css" rel="stylesheet"> <link href="/css/bootstrap.min.responsive.css" rel="stylesheet"> <style type="text/css"> body { padding-top: 40px; } </style> </head> <body> <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <a class="brand" href="#">Stomp Over WebSocket Chat Example</a> </div> </div> </div> <div class="container-fluid"> <div class="row-fluid"> <div class="span6"> <div id="connect"> <div class="page-header"> <h2>Server Login</h2> </div> <form class="form-horizontal" id='connect_form'> <fieldset> <div class="control-group"> <label>WebSocket URL</label> <div class="controls"> <input name=url id='connect_url' value='ws://localhost:61623' type="text"> </div> </div> <div class="control-group"> <label>User</label> <div class="controls"> <input id='connect_login' placeholder="User Login" value="admin" type="text"> </div> </div> <div class="control-group"> <label>Password</label> <div class="controls"> <input id='connect_passcode' placeholder="User Password" value="password" type="password"> </div> </div> <div class="control-group"> <label>Destination</label> <div class="controls"> <input id='destination' placeholder="Destination" value="/topic/chat.general" type="text"> </div> </div> <div class="form-actions"> <button id='connect_submit' type="submit" class="btn btn-large btn-primary">Connect</button> </div> </fieldset> </form> </div> <div id="connected" style="display:none"> <div class="page-header"> <h2>Chat Room</h2> </div> <div id="messages"> </div> <form class="well form-search" id='send_form'> <button class="btn" type="button" id='disconnect' style="float:right">Disconnect</button> <input class="input-medium" id='send_form_input' placeholder="Type your message here" class="span6"/> <button class="btn" type="submit">Send</button> </form> </div> </div> <div class="span4"> <div class="page-header"> <h2>Debug Log</h2> </div> <pre id="debug"></pre> </div> </div> </div> <!-- Scripts placed at the end of the document so the pages load faster --> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> <script src="/stomp.js"></script> <script>//<![CDATA[ $(document).ready(function() { if(window.WebSocket) { var client, destination; $('#connect_form').submit(function() { var url = $("#connect_url").val(); var login = $("#connect_login").val(); var passcode = $("#connect_passcode").val(); destination = $("#destination").val(); client = Stomp.client(url); // this allows to display debug logs directly on the web page client.debug = function(str) { $("#debug").append(str + "\n"); }; // the client is notified when it is connected to the server. client.connect(login, passcode, function(frame) { client.debug("connected to Stomp"); $('#connect').fadeOut({ duration: 'fast' }); $('#connected').fadeIn(); client.subscribe(destination, function(message) { $("#messages").append("<p>" + message.body + "</p>\n"); }); }); return false; }); $('#disconnect').click(function() { client.disconnect(function() { $('#connected').fadeOut({ duration: 'fast' }); $('#connect').fadeIn(); $("#messages").html("") }); return false; }); $('#send_form').submit(function() { var text = $('#send_form_input').val(); if (text) { client.send(destination, {}, text); $('#send_form_input').val(""); } return false; }); } else { $("#connect").html("\ <h1>Get a new Web Browser!</h1>\ <p>\ Your browser does not support WebSockets. This example will not work properly.<br>\ Please use a Web Browser with WebSockets support (WebKit or Google Chrome).\ </p>\ "); } }); //]]></script> </body> </html>