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

📄 index.htm

📁 语音视频聊天程序
💻 HTM
字号:
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta http-equiv=refresh content=150>
<!--多少秒钟后刷新本页-->
<TITLE>MeChat语音视频聊天服务器</TITLE>
<SCRIPT LANGUAGE=javascript>
<!--
	 /* 房间信息数组内各位代表的意思
		0.房间名称  1.在线人数	2.是否满员(0=不满,1=满员)  3.房间主人 4.登录地址及端口  5.房间分类 6.房间编号 7.是自建聊天室吗 8.加锁吗 9.支持语音 10支持视频 11保留(可能用在房间主题)
		例:var rooms = new Array("MeChat演示聊天室","0",false,"admin","http://localhost:8888/",1,1);
		房间信息数据会由MeChat系统变量 ROOM_LIST 传递至页面。
	*/
/*以下为系统变量和函数库,可以灵活调用,但不推荐修改*/
var rooms = new Array(<!--$RoomList-->); // 各房间信息数组,分析清楚后可灵活运用
var OnlineUsers = <!--$OnlineUsers--> ;	 // 总在线人数
var MaxOnline = <!--$MaxOnline--> ;
var RegUsers = <!--$REG_USERS--> ; // 总注册人数
var StartTime= <!--$StartTime-->
var num=12, count=rooms.length/num ; // count = 总开放房间数, num=房间数组的Field数量
function GetRoomTitle(n){n=n*num;if(n<rooms.length)return rooms[n+0];else return null;} // 取得房间名称,参数n表示第几个房间
function GetUserCount(n){n=n*num;if(n<rooms.length)return rooms[n+1];else return 0;} // 取得指定房间在线人数
function IsRoomFull(n)  {n=n*num;if(n<rooms.length)return rooms[n+2];else return false;} // 取得房间是否满员数
function GetRoomAdmin(n){n=n*num;if(n<rooms.length)return rooms[n+3];else return null;} // 取得房主的名字
function GetRoomURL(n)	{n=n*num;if(n<rooms.length)return rooms[n+4];else return null;} // 取得房间的URL地址及端口
function GetRoomType(n)	{n=n*num;if(n<rooms.length)return rooms[n+5];else return null;} // 取得房间类别
function GetRoomID(n)	{n=n*num;if(n<rooms.length)return rooms[n+6];else return null;} // 取得房间类别
function IsPrivateRoom(n)  {n=n*num;if(n<rooms.length)return rooms[n+7];else return false;} // 取得房间是否满员数
function IsLocked(n)  {n=n*num;if(n<rooms.length)return rooms[n+8];else return false;} // 取得房间是否满员数
function SupportAudio(n) {n=n*num;if(n<rooms.length)return rooms[n+9];else return false;}
function SupportVideo(n) {n=n*num;if(n<rooms.length)return rooms[n+10];else return false;}
function GetMaxChatUsers(n){n=n*num;if(n<rooms.length)return rooms[n+11];else return 0;} // 取得指定房间最多聊天人数
/*以下为功能模块,允许调整界面时适当修改*/
var iOpenWindowName=1;
var nRecord=1;
function OnLoginLockedRoom()
{

	if(!validstr(login.Alias))return ;
	if(IsRoomFull(nRecord))
	{//when room is full ,administrator is allowed to login
		if(login.pass.value.length <1)
		{
		  alert("已经满员,谢绝登录") ;
		  return;
		}
		//If not guest,let server check it;
	}
	var strBox = "" ;
	strBox = "&boxfunc=off" ;
	var strSex = "&Sex=" + login.Sex.value ;

	iOpenWindowName+=1;//new
	window.open("about:blank", iOpenWindowName, "toolbar=no,location=no,directories=no,menubar=no,resizable=yes") ;
	login.target = iOpenWindowName ;
	login.action = GetRoomURL(nRecord) + "Login" ;
	login.RoomID.value=GetRoomID(nRecord);
	login.submit();
	return;
	
}

function OnLogin(n) // 登录聊天室
{
	if(!validstr(login.Alias))return ;
	if(IsRoomFull(n))
	{//when room is full ,administrator is allowed to login
		if(login.pass.value.length <1)
		{
		  alert("已经满员,谢绝登录") ;
		  return;
		}
		//If not guest,let server check it;
	}
	var strBox = "" ;
	strBox = "&boxfunc=off" ;
	var strSex = "&Sex=" + login.Sex.value ;
	iOpenWindowName+=1;//new
	nRecord=n;	
	if( IsLocked(n))
	{
        	window.open("/inputroompasword.htm", "inputroompassword", "toolbar=no,location=no,directories=no,menubar=no,resizable=yes") ;
        	return;
	}	
	
	window.open("about:blank", iOpenWindowName, "toolbar=no,location=no,directories=no,menubar=no,resizable=yes") ;
	login.target = iOpenWindowName ;
	login.action = GetRoomURL(n) + "Login" ;
	login.RoomID.value=GetRoomID(n);
	login.submit() ;		

	//window.open(GetRoomURL(n)+"Login?RoomID="+GetRoomID(n)+"&Alias="+login.user.value+"&Password="+escape(login.pass.value) + strSex + strBox + "&r=" + Math.random(),iOpenWindowName,"toolbar=no,location=no,directories=no,menubar=no,resizable=yes");
	//window.open(GetRoomURL(n)+"Login?roomid="+GetRoomID(n)+"&user="+login.user.value+"&pass="+escape(login.pass.value) + strSex + strBox + "&r=" + Math.random(),"MeChatMain","toolbar=no,location=no,directories=no,menubar=no,resizable=yes");
}
function OnUserList(n) // 查询在线用户列表
{
   /*	
   if(GetUserCount(n)<=0){if(confirm("里面没人,你真的想看看?")==false)return;}
    window.open(GetRoomURL(n)+"LookUser?r=" + Math.random(),"_lookuser","toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,resizable=yes,width=500,height=400");
   */
}
function OnRegister() // 注册呢称 (GetRoomURL(0)的参数0可设置从那个房间内获取注册表单,建立选择一个人数少的房间让用户注册呢称)
{	window.open("/regist.htm","regist","toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=yes,width=270,height=500");
}
function OnPrivate() // 打开自建聊天室窗口
{	
	//if(Server.RoomsCount() > 0)
	window.open("/buildprivate.htm","_Private","toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,resizable=yes");
}

function OnAllUsers() // 显示在线用户总列表
{	window.open(GetRoomURL(0)+"AllUsers?r=" + Math.random(),"_AllUsers","toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,resizable=yes");
}
function OnFindUser() // 显示在线用户总列表
{
	var strUserName = prompt("请输入您要查找的用户名?", "找谁?") ;
	if(strUserName == null || strUserName == "找谁?" || strUserName.length <1)	return ;
	window.open("finduser.htm?FindUser="+strUserName+"&RoomUrl=" +GetRoomURL(0),"_FindUser","toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,resizable=yes");
}
function validstr(str) // 验证用户名
{ var s,i,j; s=" +=|'#&<>%*`^/\\\";,."; str1=str.value.toString();
  if (str.value.length <1){alert("呢称不能为空!");str.focus(); return false;}
  for (i=0; i<str1.length; i++)
  {	for(j=0;j<s.length;j++)
	{if (str1.charAt(i) == s.charAt(j))
     {	alert("名字中不能包含特殊字符: +=|'#&<>%*`^/\\\";,.空格.");
 		str.focus(); return false;
  }}}return true;
}
if(count<=0)alert("系统错误,请尽快联络管理员。"); // 如果房间数为0的话就提示错误信息
/*脚本定义完毕*/
//-->
</SCRIPT>
<style type="text/css">
<!--
body {  font-size: 11pt}
table {  font-size: 10.5pt}
a {  text-decoration: none}
a:visited {  color: #0000FF; text-decoration: none}
a:hover {  color: #FF0033; text-decoration: none}
-->
</style>
<meta name="keywords" content="语音聊天">
<meta name="keywords" content="视频聊天">
<meta name="keywords" content="语音视频聊天">
<meta name="keywords" content="可视语音聊天">
</HEAD>
<BODY bgcolor="#eeeeff" Language="JavaScript" onload="login.Alias.focus();">
<h1 align="center"><font color="#FF6666">欢迎使用MeChat&reg;聊天室</font></h1>
<!--
<A href="http://www.MeChat.com/cn/" target=_blank> mechat语音视频聊天室</A>
-->
<form name="login" action="/" method="post" onsubmit="return false;">
<TABLE cellSpacing=0 cellPadding=2 width="95%" border=0 align=center>
<TR>
      <TD align="right"> [<a href="javascript:OnPrivate();">自建聊天室</a>][<a href="javascript:OnRegister();">用户注册</a>] 
        [<a href="javascript:OnFindUser();">聊友查寻</a>] [<a href="allusers.htm">在线用户列表</a>][<a href="top.htm" target="_blank">聊神榜</a>][<a href="userguide.htm" target="_blank">功能说明</a>] 
        [<a href="getpassword.htm" target="_blank">取回密码</a>][<a href="javascript:window.location.reload();">刷新列表</a>] 
      </TD>
    </TR>
</TABLE>
<TABLE cellSpacing=0 cellPadding=2 width="95%" border=1 align=center>
    <TR bgcolor="#CCCCFF"> 
      <TD colspan=4 align=center> 
      本服务器共开放<font color=red><script>document.write(count);</script></font>个聊天室
	总在线人数<font color=red><script>document.write(OnlineUsers);</script></font>
	最大在线人数<font color=red><script>document.write(MaxOnline);</script>
        </font> </TD>
  </TR>
  <TR align=center> 
    <TD colspan=2>
		呢称:<input type="text" name="Alias" maxlength=10 size=10>
        密码:<input type="password" name="Password" maxlength=10 size=10>
        <input type="hidden" name="RoomID" >  
	<input type="hidden" name="RoomPassword"  value="">       
    </TD>
      <TD><font color="#FF3366" size="1">游客登录无须密码</font></TD>
      <TD>
	  <INPUT type="hidden" name="Sex">
        性别:<INPUT type="radio" name="radio1" onclick="login.Sex.value=0;">女
        <INPUT type="radio" name="radio1" onclick="login.Sex.value=1;">男
        <INPUT type="radio" name="radio1" onclick="login.Sex.value=2;">保密
    </TD>
  </TR>  
  <TR align=middle>
    <TD>序号</TD>
    <TD>聊天室名称</TD>
    <TD>在线人数</TD>
    <TD>管理员</TD>
  </TR>
	<script>/*请仔细分析这段代码*/
	for(var i=0; i<count; i++) // 循环写房间列表, i = 房间序号, count = 房间总数
	{	document.write("<TR>\r\n<TD align=center>"+(i+1)+"</TD><TD align=left>");//写序号
		document.write("<a href='javascript:OnLogin(" + i + ");'>");
		document.write(GetRoomTitle(i)); //写房间名称
		document.writeln("</a>");
		if(IsPrivateRoom(i))document.write("[自建]");
		if(IsLocked(i))document.write("[加锁]");
		if(SupportVideo(i))document.write("[视频]");
		document.writeln("</TD><TD align=center>");
		document.writeln("<a href='javascript:OnUserList(" + i + ");'>") ;
		document.write(GetUserCount(i) +"/" + GetMaxChatUsers(i)+ "人"); //写房间人数
		if(IsRoomFull(i))document.write("(满员)") ; //写是否满员
		document.write("</a></TD><TD align=left>") ;
		document.write(GetRoomAdmin(i)); // 写房间管理员
		document.writeln("</TD>\r\n</TR>");
    }
    </script>
</TABLE>
</form>
<p align=center>&nbsp;</p>
<p align=center>MeChat开始运行时间<font color=red> 
  <script>document.write(StartTime);</script>
  </font> </p>
<p align=center>Copyright&copy; 2001 All right reserved.<br>
  <A href="http://www.mechat.com/cn/" target=_blank>MeChat&reg;语音视频聊天室</a><br>
</p>
</BODY>
</HTML>

⌨️ 快捷键说明

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