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

📄 frame1.htm

📁 这是基于网络编程的
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<HTML>
<HEAD>
<TITLE><!--$RoomName--> Powered by MeChat Server</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<SCRIPT LANGUAGE=javascript>
<!--		
/*正式运行后可将所有注释删除,以加快聊天室运行速度*/
/*初始变量,允许修改*/

	/*系统变量,请勿修改*/
	var yourself;
	var everyone = "所有人" ;
	
	var RoomName="<!--$RoomName-->";
	var UserName="<!--$UserName-->";
	var TempPassword="<!--$TempPassword-->";
		
	var Users = new UserList();
	var MicQ = new MicList();
	var vMiSecondLastRefreshUserList=0;
	var vNeedRefreshUserList=false;		
	var InRoom = 0 ;

function WriteUserList() 
{ // 用户在线列表窗口,请到userlist.htm文件内修改。
	InRoom = 0;
	if(this.user==null)	{setTimeout("WriteUserList()",10);return;}
	this.user.document.open();
	with(this.user.document){
	<!--$USERLIST_FILE-->
	}
	this.user.document.close();
	InRoom = 1;
}

	
	/*客户区显示模块,允许修改*/
	function v2(str1,str2)
	{ // 即时信息显示窗口
		this.ad.document.open();
		this.ad.document.writeln("<html><head>");
		this.ad.document.writeln("<style type='text/css'>");
		this.ad.document.writeln("<!--");
		this.ad.document.writeln("body { font-family: '宋体'; font-size: 10.5pt}");
		this.ad.document.writeln("a:visited {  color: #0000FF; text-decoration: none}");
		this.ad.document.writeln("a:link {  color: #0000FF; text-decoration: none}");
		this.ad.document.writeln("a:hover {  color: #FF0000}");
		this.ad.document.writeln("-->");
		this.ad.document.writeln("</style>");
		this.ad.document.writeln("</head><body topmargin=4 bgcolor=#DDDDFF><center>");
		this.ad.document.writeln("<font color=red>即时信息</font>: <a href="+str2+" target='_blank'>"+str1+"</a>&nbsp;&nbsp;<font size=2><font color=red>MeChat <!--$MeChatVersion--></font>");
		this.ad.document.writeln('</body></html>');
		this.ad.document.close();
	}
		
//-->

function updateav(strUserName,strAudioStatus,strVideoStatus)
{
	var obj = this.Users.FindObject(strUserName);
	if(obj == null)
	{return;}
	obj.AudioStatus=strAudioStatus;
	obj.VideoStatus=strVideoStatus;	
	this.Users.DoSort();
	start();
}

function cs(strUserName)
{ // 选取用户名称模块
	if(this.form==null)	return;
	//if(strUserName==yourself){this.form.document.inputform.msg.focus();return;}
	var u1, u2 ;
	if(strUserName==everyone) u1 = u2 = everyone ;
	else
	{	var obj = this.Users.FindObject(strUserName) ;
		if(obj == null)
		{	alert('此用户已离线或已改了昵称。');
			this.form.document.inputform.msg.focus();
			return ;
		}
		else
		{
			u1 = obj.Alias;
			u2 = obj.UserName ;
			if(u1.length <= 0) u1 = u2 ;
		}
		
		if(obj.Admin==0 && strUserName==yourself)
		{
			this.form.document.inputform.msg.focus();return;
		}		
	}

	this.form.AddUser(u1, u2);
	this.form.document.inputform.talkto.value=u2;
	this.form.document.inputform.talkto2.value=u2;
	this.form.document.inputform.msg.focus();
	return ;
}

function modify()////对于guest注册个人资料,对于注册用户修改个人资料
{	
	var strUrl,strUrl0;
	var objyourself=this.Users.FindObject(parent.yourself);
	if( objyourself==null)
	{	return;	 }
	if(objyourself.Grade == 0)
	{
		strUrl0 = "../regist.htm";
	}
	else
	{
		strUrl0 = "../registmodify.htm";
	}
	strUrl  = strUrl0+"?UserName=<!--$UserName-->&Alias=<!--$Alias-->&RoomID=<!--$RoomID-->&TempPassword=<!--$TempPassword-->&r=" + Math.random();
	this.form.document.inputform.msg.focus();
	window.open(strUrl,"modify",
		"toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=yes,width=270,height=500");
}	
	
/*以下为系统函数,不推荐修改*/
function add(strUserName,strAlias,nSex,strIcon,nGrade,nAdmin,nMember,nAudioStatus,nVideoStatus,nOnline,strResume,strReserve)
{	this.Users.Add(strUserName, strAlias, nSex, strIcon,nGrade,nAdmin,nMember,nAudioStatus,nVideoStatus,nOnline,strResume,strReserve);
}

function removeall()
{
	this.Users.RemoveAll();
}
function Update(strUserName,nSex,strIcon,nGrade,nAdmin,nAudioStatus,nVideoStatus,nOnline,strResume,strReserve)
{	if(this.Users.Update(strUserName,nSex,strIcon,nGrade,nAdmin,nAudioStatus,nVideoStatus,nOnline,strResume,strReserve))
		start();
}
function del(str)
{	if(this.Users.Del(str))
	{	if( this.form.document.inputform!=null && this.form.document.inputform.talkto2.value==str)
			this.cs(everyone);
		if(this.form.document.inputform!=null)
			this.form.DelUser(str) ;
		start();
	}
	this.MicQ.Del(str);
}




function gm(strUserName,nk)
{	if(this.Users.gm(strUserName,nk))
	{	if(this.form.document.inputform.talkto2.value == strUserName)
			this.cs(strUserName);
			start();
	}
	if(this.video!=null && this.video.MeChatU!=null)
	{
		this.video.MeChatU.setUserAlias(strUserName,nk);
	}
}

function gmwin() ////改名窗口
{
	var strUrl = "../gm.htm?UserName=<!--$UserName-->&TempPassword=<!--$TempPassword-->&r=" + Math.random();
	this.form.document.inputform.msg.focus();
	window.open(strUrl,"gmwin",
		"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=250,height=90");
}	

var strTitle = new Array("无业游民","新兵","专业军士","少尉","中尉","上尉","少校","中校","上校","大校","少将","中将","上将","五星上将") ; // 头衔数组
function GetTitle(n)
{	if(n >= strTitle.length)
		return strTitle[strTitle.length-1] ;
	return strTitle[n] ;
}

function UserObject()
{
	this.UserName ;		
	this.Alias ;		
	this.Sex;			
	this.Icon = "" ;	
	this.Grade = 0 ;
	this.Admin = 0 ;
	this.Member = 0 ;
	this.AudioStatus = 0 ;
	this.VideoStatus = 0 ;
	this.Online = 0;
	this.Resume = "" ;	
	this.Reserve = "" ;	
}

function UserList()
{	this.m_pUsers = new Array();
	this.GetCount = function(){return this.m_pUsers.length;}
	this.GetObject = function(n){return this.m_pUsers[n];}
	this.Find = function(strUserName)
	{	for(var i = 0; i < this.GetCount(); i ++)
			if(this.GetObject(i).UserName == strUserName) return i ;
		return -1 ;
	}
	this.FindObject = function(strUserName)
	{	var i = this.Find(strUserName) ;
		if(i != -1)
			return this.GetObject(i) ;
		return null;
	}					
	this.Add = function(strUserName,strAlias,nSex,strIcon,nGrade,nAdmin, nMember, nAudioStatus, nVideoStatus,nOnline,strResume, strReserve)
	{	var obj, n ;
		if((n = this.Find(strUserName)) != -1) obj = this.GetObject(n) ;
		else obj = new UserObject() ;
		obj.UserName = strUserName ;
		obj.Alias = strAlias ;
		obj.Sex		 = nSex;
		obj.Icon	 = strIcon ;
		obj.Grade	 = nGrade ;
		obj.Admin	 = nAdmin ;	
		obj.Member	 = nMember ;
		obj.AudioStatus	 = nAudioStatus ;
		obj.VideoStatus	 = nVideoStatus ;
		obj.Online	 = nOnline ;
		obj.Resume	 = strResume ;		
		obj.Reserve	 = strReserve;		
		if(n == -1)	this.m_pUsers[this.GetCount()] = obj ;
		this.DoSort();
	}
	this.Del = function(strUserName)
	{	var n = this.Find(strUserName) ;
		if(n != -1)
		{	delete this.m_pUsers[n] ;
			this.m_pUsers.sort(this.SortOnNull);
			this.m_pUsers.length -- ;
			return true;
		}return false;
	}
	this.gm = function(strUserName, strAlias)
	{	var obj = this.FindObject(strUserName) ;
		if(obj != null)
		{	obj.Alias = strAlias ;
			this.DoSort();
			return true;
		}return false ;
	}
	this.Update = function(strUserName,nSex,strIcon,nGrade,nAdmin,nAudioStatus,nVideoStatus,nOnline,strResume,strReserve)
	{	var obj = this.FindObject(strUserName) ;
		if(obj != null)
		{
			obj.Sex = nSex ;		
			obj.Icon = strIcon ;
			obj.Grade = nGrade ;				
			obj.Admin	 = nAdmin ;
			obj.AudioStatus	 = nAudioStatus ;
			obj.VideoStatus	 = nVideoStatus ;
			obj.Online = nOnline ;			
			obj.Resume	 = strResume ;			
			obj.Reserve	 = strReserve;			
			this.DoSort();
			return true;
		}return false;
	}
	this.RemoveAll = function()
	{	for(var i = 0; i < this.GetCount(); i ++)
			delete this.m_pUsers[i] ;
		this.m_pUsers.length = 0;
	}
	this.SortOnSex = function(a, b)
	{	var n1 = a.Sex ;
		var n2 = b.Sex ;
		if(n1 == n2)	return 0 ;
		if(n1 > n2)		return 1 ;
		if(n1 < n2)		return -1;					
	}
	this.SortOnName = function(a, b)
	{	var n1 = a.Alias.length ;
		var n2 = b.Alias.length ;
		if(n1 == n2)	return 0 ;
		if(n1 > n2)		return -1 ;
		if(n1 < n2)		return 1;					
	}
	this.SortOnGrade = function(a, b)
	{	var n1 = a.Grade ;
		var n2 = b.Grade ;
		if(n1 == n2)	return 0 ;
		if(n1 > n2)		return -1 ;
		if(n1 < n2)		return 1;								
	}
	this.SortOnState = function(a,b)
	{	var n1 = a.Online ;
		var n2 = b.Online ;
		if(n1 == n2)	return 0 ;
		if(n1 < n2)		return 1 ;
		if(n1 > n2)		return -1;
	}
	this.SortOnAudioStatus = function(a,b)
	{	var n1 = a.AudioStatus ;
		var n2 = b.AudioStatus ;
		if(n1 == n2)	return 0 ;
		if(n1 < n2)		return 1 ;
		if(n1 > n2)		return -1;
	}
	this.SortOnVideoStatus = function(a,b)
	{	var n1 = a.VideoStatus ;
		var n2 = b.VideoStatus ;
		if(n1 == n2)	return 0 ;
		if(n1 < n2)		return 1 ;
		if(n1 > n2)		return -1;
	}
	this.SortOnNull = function(a, b)
	{	if(a == null || b == null)	return -1 ;
		return 0 ;
	}
	
	this.SortOnAdminGrade = function(a, b)
	{	//if(a == null || b == null)	return -1 ;
		//return 0 ;
		if(a.Admin < b.Admin)	return 1;
		else if(a.Admin > b.Admin)	return -1;
		else
		{
			if(a.Grade < b.Grade) return 1;
			else if(a.Grade > b.Grade) return -1;
			else return 0;
		}
		
	}	
	this.nSort = 1 ;
	this.DoSort = function()
	{	switch(this.nSort)
		{	
			case 0:	return;
			case 1:	this.SortByAdminGrade(); return;
			case 2: this.SortBySex(); return;
			case 3:	this.SortByName(); return;
			case 4:	this.SortByGrade(); return;
			case 5:	this.SortByState(); return;
			case 6: this.SortByAudioStatus(); return;
			case 7: this.SortByVideoStatus(); return;
		}
	}
	this.SortByAdminGrade = function(){this.nSort=1;this.m_pUsers.sort(this.SortOnAdminGrade);}	
	this.SortBySex = function(){this.nSort=2;this.m_pUsers.sort(this.SortOnSex);}
	this.SortByName = function(){this.nSort=3;this.m_pUsers.sort(this.SortOnName);}
	this.SortByGrade = function(){this.nSort=4;this.m_pUsers.sort(this.SortOnGrade);}
	this.SortByState = function(){this.nSort=5;this.m_pUsers.sort(this.SortOnState);}
	this.SortByAudioStatus = function(){this.nSort=6;this.m_pUsers.sort(this.SortOnAudioStatus);}
	this.SortByVideoStatus = function(){this.nSort=7;this.m_pUsers.sort(this.SortOnVideoStatus);}
}

function MicList()
{	this.m_pMicQ = new Array();
	this.GetCount = function(){return this.m_pMicQ.length;}
	this.GetObject = function(n){return this.m_pMicQ[n];}
	this.Find = function(strUserName)
	{	for(var i = 0; i < this.GetCount(); i++)
			if(this.GetObject(i) == strUserName) return i ;
		return -1 ;
	}
	this.FindObject = function(strUserName)
	{	var i = this.Find(strUserName) ;
		if(i != -1)
			return this.GetObject(i) ;
		return null;
	}
	this.Add = function(strUserName)
	{	
		this.Del(strUserName);
		this.m_pMicQ[this.GetCount()] = strUserName ;
	}	
	this.Insert = function(strUserName)
	{
		this.Del(strUserName);
		for(var i=this.GetCount();i>0;i--)
		{
			this.m_pMicQ[i] = this.m_pMicQ[i-1];
		}
		this.m_pMicQ[0]=strUserName;

	}
	this.InsertPos = function(strUserName,pos)
	{
		var i;
		if(pos<1)
		{
			return;
		}
		this.Del(strUserName);
		
		if(pos>this.GetCount())
		{
		  this.m_pMicQ[this.GetCount()]=strUserName;
		  return;
		}
		for(i=this.GetCount();i>pos-1;i--)
		{
		 	this.m_pMicQ[i] = this.m_pMicQ[i-1];
		}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -