⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chat.htc

📁 笨狼简易无刷聊天原型
💻 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 + -