54 lines
1.9 KiB
HTML
54 lines
1.9 KiB
HTML
|
<!doctype html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<title>Socket.IO chat</title>
|
||
|
<style>
|
||
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||
|
body { font: 13px Helvetica, Arial; }
|
||
|
form { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%; }
|
||
|
form input { border: 0; padding: 10px; width: 90%; margin-right: .5%; }
|
||
|
form button { width: 9%; background: rgb(130, 224, 255); border: none; padding: 10px; }
|
||
|
#messages { list-style-type: none; margin: 0; padding: 0; }
|
||
|
#messages li { padding: 5px 10px; }
|
||
|
#messages li:nth-child(odd) { background: #eee; }
|
||
|
</style>
|
||
|
<script src="/socket.io/socket.io.js"></script>
|
||
|
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
|
||
|
<script>
|
||
|
$(function () {
|
||
|
// Create socket
|
||
|
var socket = io();
|
||
|
|
||
|
// Wait for server response and identify client
|
||
|
socket.on('user_identify', function(){
|
||
|
socket.emit('user_login', 'Bart');
|
||
|
});
|
||
|
|
||
|
// Send data to server on form submit
|
||
|
$('form').submit(function(e){
|
||
|
e.preventDefault();
|
||
|
var msg = {
|
||
|
'username': $('#username').val(),
|
||
|
'message': $('#message').val()
|
||
|
}
|
||
|
socket.emit('message_send', msg);
|
||
|
$('#message').val('');
|
||
|
return false;
|
||
|
});
|
||
|
|
||
|
// Receive messages from server
|
||
|
socket.on('message_receive', function(msg){
|
||
|
$('#messages').append($('<li>').text(msg.username + ': ' + msg.message));
|
||
|
});
|
||
|
});
|
||
|
</script>
|
||
|
</head>
|
||
|
<body>
|
||
|
<ul id="messages"></ul>
|
||
|
<form action="">
|
||
|
<input id="username" autocomplete="off" />
|
||
|
<input id="message" autocomplete="off" />
|
||
|
<button>Send</button>
|
||
|
</form>
|
||
|
</body>
|
||
|
</html>
|