📄 chat.htc
字号:
<PUBLIC:PROPERTY NAME = "listObj" />
<PUBLIC:PROPERTY NAME = "reciveObj" />
<PUBLIC:PROPERTY NAME = "sendObj" />
<PUBLIC:PROPERTY NAME = "showSelectObj" />
<PUBLIC:PROPERTY NAME = "btnObj" />
<PUBLIC:PROPERTY NAME = "fromID" />
<PUBLIC:PROPERTY NAME = "fromName" />
<PUBLIC:PROPERTY NAME = "toID" />
<PUBLIC:PROPERTY NAME = "toName" />
<PUBLIC:PROPERTY NAME = "line" />
<PUBLIC:PROPERTY NAME = "room" />
<PUBLIC:PROPERTY NAME = "maxLine" />
<PUBLIC:ATTACH EVENT="oncontentready" ONEVENT="refresh()" />
<script language="JavaScript">
var timer;
var word;
/*
var oselector;
var osendObj;
var oreciver;
var olistObj;
var oselector;
*/
var osendObj= element.document.getElementById(sendObj);
var oreciver= element.document.getElementById(reciveObj);
osendObj.attachEvent('onkeypress', checkKey);
getData();
if(isObj(btnObj))
{
var obtnObj =element.document.getElementById(btnObj);
obtnObj.attachEvent("onclick",sendWord);
}
function checkKey()
{
var ok=false;
if (event.altKey)
{
if(event.keyCode==115 || event.keyCode==83)
{
ok=true;
}
}
if (event.keyCode==13 )
{
ok=true;
}
if(ok )
{
sendWord();
}
}
function isObj(str)
{
var rtn = false;
if(str!="")
{
if ( typeof(eval(str))=="object")
{
rtn =true;
}
}
return(rtn);
}
function refresh()
{
clearInterval(timer);
timer = setInterval(getData,3000);
}
function sendWord()
{
// alert(osendObj.value);
word=osendObj.value;
osendObj.value="";
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
var url = new String(element.style.behavior);
url = url.substring( 5 + url.indexOf('url'), url.indexOf('chat.htc') );
url += "xml/"
url += "writeXML.asp?fromID=" ;
url += fromName + "&toID=" + toName ;
url += "&word=" + word.replace(/<(.[^><]*)>/ig,"");
url += "&room=" + room
xmlhttp.open("get", url, true);
xmlhttp.send();
}
//onchange="chat.toID=this.value"
function getData()
{
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
// 异步调用
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4) // 调用完毕
{
if (xmlhttp.status == 200) // 加载成功
{
var xmldoc = xmlhttp.responseXML;
showWord(xmldoc);
if (isObj(listObj))
{//如果列表存在,那么显示列表
showList(xmldoc);
}
}
}
}
var url = new String(element.style.behavior);
url = url.substring( 5 + url.indexOf('url'), url.indexOf('chat.htc') );
url += 'xml/' + room + '.xml';
xmlhttp.open("get", url, true);
xmlhttp.send();
}
function showWord(obj)
{
//显示谈话内容
var word = obj.getElementsByTagName("word");
oreciver.innerHTML="";
for(i=0;i<word.length;i++)
{
if(i==maxLine)
{//如果超出最大行数退出
break;
}
if ( word[i].getAttribute("to")==fromID
|| word[i].getAttribute("to")==""
|| word[i].getAttribute("from")==fromID
)
{
oreciver.innerHTML += word(i).getAttribute("from")
oreciver.innerHTML += ((word(i).getAttribute("to")=="")? "":( "对" +word(i).getAttribute("to"))) + "说:"
oreciver.innerHTML += word(i).text + "<br/>";
}
}
}
//var oselector=element.document.getElementById(selectObj);
function showList(obj)
{
var list = obj.getElementsByTagName("people");
var olistObj= element.document.getElementById(listObj);
while(olistObj.rows.length>1)
{
olistObj.deleteRow(1)
}
for(i=0;i<list.length;i++)
{
var otr=olistObj.insertRow();
var otd=otr.insertCell();
otd.innerText= list(i).text;
otd.attachEvent('onmouseover', Hilite);
otd.attachEvent('onmouseout', Restore);
otd.attachEvent('ondblclick', showSelect);
//
}
}
function showSelect()
{
if(isObj(showSelectObj))
{
var oshowSel= element.document.getElementById(showSelectObj);
oshowSel.innerText="对" + event.srcElement.innerText;
toName=event.srcElement.innerText;
}
}
function Hilite()
{
event.srcElement.bgColor ="#cccccc";
}
function Restore()
{
event.srcElement.bgColor="";
}
</script>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -