读书人

寻找高手给一小段js代码添加点注释,实

发布时间: 2012-03-06 20:47:55 作者: rapoo

寻找高手给一小段js代码添加点注释,实在看得辛苦
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN " "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns= "http://www.w3.org/1999/xhtml ">
<head>
<title> JSJaC Simple Client </title>

<script type= "text/javascript " src= "../jsjac.js "> </script>
<!-- comment in above and uncomment below if you want to modify/hack
on jsjac -->
<!--script type= "text/javascript " src= "../src/JSJaC.js "> </script-->

<!-- if you want to enable debugging uncomment line below
debugger available at
http://svn.stefan-strigler.de/JSDebugger/trunk -->
<!--script type= "text/javascript " src= "Debugger.js "> </script-->

<script language= "JavaScript " type= "text/javascript ">
// <![CDATA[
function handleIQ(aJSJaCPacket) {
document.getElementById( 'iResp ').innerHTML +=
" <div class= 'msg '> IN (raw): " +aJSJaCPacket.xml().htmlEnc() + ' </div> ';
document.getElementById( 'iResp ').lastChild.scrollIntoView();
}

function handleMessage(aJSJaCPacket) {
var html = ' ';
html += ' <div class= "msg "> <b> Received Message from '+aJSJaCPacket.getFromJID()+ ': </b> <br/> ';
html += aJSJaCPacket.getBody().htmlEnc() + ' </div> ';
document.getElementById( 'iResp ').innerHTML += html;
document.getElementById( 'iResp ').lastChild.scrollIntoView();
}

function handlePresence(aJSJaCPacket) {
var html = ' <div class= "msg "> ';
if (!aJSJaCPacket.getType() && !aJSJaCPacket.getShow())
html += ' <b> '+aJSJaCPacket.getFromJID()+ ' has become available. </b> ';
else {
html += ' <b> '+aJSJaCPacket.getFromJID()+ ' has set his presence to ';
if (aJSJaCPacket.getType())
html += aJSJaCPacket.getType() + '. </b> ';
else
html += aJSJaCPacket.getShow() + '. </b> ';
if (aJSJaCPacket.getStatus())


html += ' ( '+aJSJaCPacket.getStatus().htmlEnc()+ ') ';
}
html += ' </div> ';

document.getElementById( 'iResp ').innerHTML += html;
document.getElementById( 'iResp ').lastChild.scrollIntoView();
}

function handleError(e) {
document.getElementById( 'err ').innerHTML = "An error occured: <br /> "+
( "Code: "+e.getAttribute( 'code ')+ "\nType: "+e.getAttribute( 'type ')+
"\nCondition: "+e.firstChild.nodeName).htmlEnc();
document.getElementById( 'login_pane ').style.display = ' ';
document.getElementById( 'sendmsg_pane ').style.display = 'none ';

if (con.connected())
con.disconnect();
}

function handleStatusChanged(status) {
oDbg.log( "status changed: "+status);
}

function handleConnected() {
document.getElementById( 'login_pane ').style.display = 'none ';
document.getElementById( 'sendmsg_pane ').style.display = ' ';
document.getElementById( 'err ').innerHTML = ' ';
con.send(new JSJaCPresence());
}
function handleDisconnected() {
document.getElementById( 'login_pane ').style.display = ' ';
document.getElementById( 'sendmsg_pane ').style.display = 'none ';
}
function doLogin(aForm) {
document.getElementById( 'err ').innerHTML = ' '; // reset

try {
// setup args for contructor
oArgs = new Object();
oArgs.httpbase = aForm.http_base.value;
oArgs.timerval = 2000;

if (typeof(oDbg) != 'undefined ')
oArgs.oDbg = oDbg;

if (aForm.backend[0].checked)
con = new JSJaCHttpBindingConnection(oArgs);
else
con = new JSJaCHttpPollingConnection(oArgs);

con.registerHandler( 'message ',handleMessage);
con.registerHandler( 'presence ',handlePresence);
con.registerHandler( 'iq ',handleIQ);
con.registerHandler( 'onconnect ',handleConnected);
con.registerHandler( 'onerror ',handleError);
con.registerHandler( 'status_changed ',handleStatusChanged);
con.registerHandler( 'ondisconnect ',handleDisconnected);



// setup args for connect method
oArgs = new Object();
oArgs.domain = aForm.server.value;
oArgs.username = aForm.username.value;
oArgs.resource = 'jsjac_simpleclient ';
oArgs.pass = aForm.password.value;
oArgs.register = aForm.register.checked;
con.connect(oArgs);
} catch (e) {
document.getElementById( 'err ').innerHTML = e.toString();
} finally {
return false;
}
}

function sendMsg(aForm) {
if (aForm.msg.value == ' ' || aForm.sendTo.value == ' ')
return false;

if (aForm.sendTo.value.indexOf( '@ ') == -1)
aForm.sendTo.value += '@ ' + con.domain;

try {
var aMsg = new JSJaCMessage();
aMsg.setTo(new JSJaCJID(aForm.sendTo.value));
aMsg.setBody(aForm.msg.value);
con.send(aMsg);

aForm.msg.value = ' ';

return false;
} catch (e) {
html = " <div class= 'msg error ' '> Error: "+e.message+ " </div> ";
document.getElementById( 'iResp ').innerHTML += html;
document.getElementById( 'iResp ').lastChild.scrollIntoView();
return false;
}
}

function quit() {
if (con && con.connected())
con.disconnect();

document.getElementById( 'login_pane ').style.display = ' ';
document.getElementById( 'sendmsg_pane ').style.display = 'none ';
}

(未完)

[解决办法]
晕 这么长 你自己看吧
[解决办法]
..
[解决办法]
init
1 初始化一些东西
调用 setupCon ,绑定一些消息处理函数,那些 handle xxx 就是被绑定用于处理服务器返回数据的。
2 判断是否登录过,如果是就隐藏登录界面,显示发送消息界面。


登录界面中登录按钮触发 doLogin,用于登录
消息界面中发送按钮触发 sendMsg,用于发送消息。
[解决办法]
路过,关注一下

读书人网 >JavaScript

热点推荐