有人可以解释这三个函数是如何相互关联的吗? $ 在这里做什么?它有两个定义吗?
socket.onopen = function(){
log("Welcome - status "+this.readyState);
};
function $(id){
return document.getElementById(id);
}
function log(msg){
$("log").innerHTML+="<br>"+msg;
}
这些函数写在下面的客户端代码中:
变种套接字;
function init() {
var host = "ws://localhost:12345/websocket/server.php";
try {
socket = new WebSocket(host);
log('WebSocket - status ' + socket.readyState);
socket.onopen = function (msg) {
log("Welcome - status " + this.readyState);
};
socket.onmessage = function (msg) {
log("Received: " + msg.data);
};
socket.onclose = function (msg) {
log("Disconnected - status " + this.readyState);
};
} catch (ex) {
log(ex);
}
$("msg").focus();
}
function send() {
var txt, msg;
txt = $("msg");
msg = txt.value;
if (!msg) {
alert("Message can not be empty");
return;
}
txt.value = "";
txt.focus();
try {
socket.send(msg);
log('Sent: ' + msg);
} catch (ex) {
log(ex);
}
}
function quit() {
log("Goodbye!");
socket.close();
socket = null;
} // Utilities function $(id){ return document.getElementById(id); } function log(msg){ $("log").innerHTML+="<br>"+msg; } function onkey(event){ if(event.keyCode==13){ send(); } }