📄 frame1.htm
字号:
<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> <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 + -