<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>node.js chat</title>
<script type="text/javascript">
/*
【node.js】socket.ioで構築したローカルで動くシンプルなチャットルーム。みんなで書けるリモート版も公開中。
http://www.tettori.net/post/852/
*/
var host = window.document.location.host.replace(/:.*/, '');
var ws = new WebSocket('ws://' + host + ':3001');
//クライアントからイベント送信(イベント名は自由に設定できます)
function sendMessage() {
var node=document.getElementById("message");
var msg = node.value; //入力データの取得
node.value=""; //空白にする
var msg = {
user_id: null,
name: null,
type: 'message',
message: msg
};
console.log(JSON.stringify(msg));
ws.send(JSON.stringify(msg));
}
ws.onopen = function(ev) { // コネクション接続
console.log('onopen Message Event =>', ev);
}
ws.onmessage = function (data) { // メッセージ受信
getMessage(data.data);
}
ws.onclose = function() { // コネクション切断時
console.log('connection is closed.');
};
ws.onerror = function() {
console.log('connection is error.');
};
function getMessage (value,color,size) { // メッセージ送信
console.log("val:"+value);
var msg = value.replace( /[!@$%<>'"&|]/g, '' ); //タグ記号とかいくつか削除
var cnode=document.createElement("div");
cnode.setAttribute("class","msg");
tn=document.createTextNode(msg);
cnode.appendChild(tn);
var pnode=document.getElementById("msg_list");
pnode.insertBefore(cnode,pnode.firstChild);
}
</script>
<style>
*{
font-size:30px;
margin:0;
padding:0;
}
</style>
</head>
<body>
<div id="msg_list" style="height:300px; overflow:auto;"></div>
<div>
<input type="text" class="text" style="width:95%; padding:10px" id="message"/>
<input type="button" class="button" style="padding:10px" onclick="sendMessage();" value="送信" />
</div>
</body>
</html>