📄 talk.jsp
字号:
<%@ page contentType="text/html; charset=utf-8" %>
<HTML><HEAD><TITLE>发言区</TITLE>
<LINK rel="stylesheet" type="text/css" href="../common.css">
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--
var nick
// 在chatapplet.jsp中被调用
function setmynick(user)
{
if (typeof(mynick)!="object")
return;
mynick.innerText = user
nick = user
}
function getmynick()
{
return nick;
}
function nickarealist(what)
{
if(what=="users")
window.parent.nickarea.location.href="nicklist.htm";
if(what=="rooms")
{
//当用户的消息队列为空时会阻塞30秒,因为在chatapplet中poll在pollList之前会导致房间名单也得不到刷新
//所以在点击talkarea中"名单"的时候,主动调用chatapplet中的pollList()
//将调用函数放在roomlist.htm的window_onload()中
//window.parent.nickarea.location.href="roomlist.htm";
//或
//window.parent.nickarea.location.href="chatservice?mode=roomlist1";//出错
if (typeof(window.parent.chatappletarea.roomlist)=="function")
window.parent.chatappletarea.roomlist()
}
}
var oldtalk = ""
function formtalk_onsubmit()
{
var talk = formtalk.talk.value
if(talk =="")
{
alert("发言内容不能为空!")
return false
}
var infg = "#$#"
//*************var re = new RegExp("\$", "i")//因为$,*在正则表达式中有特殊意义,所以需采取不同的方法
if ( talk.search(/[#][$][#]/i)!=-1 || talk.search("[*][$][*]","i")!=-1)// /*$*/会出错
{
alert("话中不能带有#$#或*$* !")//前者为句中分隔符,后者为句间分隔符
return false
}
//talk.replace(/\"/i,"}");
if (oldtalk==talk)
{
alert("请不要说重复的话!")
return false
}
else
oldtalk = talk
tmpDate = new Date();
var h = ""+tmpDate.getHours();
if (h.length==1)
h = "0"+h;
var m = ""+tmpDate.getMinutes();
if (m.length==1)
m = "0"+h;
var s = ""+tmpDate.getSeconds();
if (s.length==1)
s = "0"+s;
talktime = h+":"+m+":"+s;
if (formtalk.chksecret.checked)
isSecret = "y"
else
isSecret = "n"
talkmsg = talktime + infg + isSecret + infg + formtalk.saytoname.value + infg +
formtalk.Expression.value + infg + formtalk.addimg.value + infg + formtalk.fontcolor.value + infg + talk
if (typeof(window.parent.chatappletarea.send)=="function")
window.parent.chatappletarea.send(talkmsg)
// 往聊天显示区添加发话的内容
var srt="",addimg="",tk="",nick="我",expression="";
if (isSecret == "y")
srt = "[秘]"
else
srt = ""
if (formtalk.addimg.value!="")
addimg="<IMG src=images/addimgs/" + formtalk.addimg.value+".gif>"
tk = "<table class='p9'><tr><td width='100%'><font color='ff00ff'>"+srt+
"</font><font color='#0000FF'><a href=javascript:window.parent.talkarea.getname('"+ nick +
"')>" +nick+"</a>" +expression+"对<a href=javascript:window.parent.talkarea.getname('"+
formtalk.saytoname.value+"') style='COLOR: salmon'>"+formtalk.saytoname.value+"</a>"+addimg+"说:</font><font color=#"+
formtalk.fontcolor.value+">"+talk+"</font><font style='COLOR: mediumslateblue'>["+talktime+"]</font></td></tr></table>"
if (typeof(window.parent.showchatarea.showchat)=="function")
window.parent.showchatarea.showchat(tk,1);
formtalk.talk.value=""
formtalk.talk.focus()
return false;
}
var freshnicklist = true
var isLoaded = false
function window_onload() {
isLoaded = true
}
function GetLoadInfo()
{
return isLoaded
}
function window_onunload() {
}
function changefreshnicklist(isfresh)//上句中在isfresh中加var错,使得找不到对象
{
freshnicklist = isfresh
}
function getname(str){
formtalk.saytoname.value = str;
}
function chksecret_onclick()
{
if(formtalk.saytoname.value == "大家" || formtalk.saytoname.value=="")
{
formtalk.chksecret.checked = false
alert("不能对大家秘谈!")
}
}
function freshnicklist_onsubmit()
{
location.reload(true)
return true
}
function refreshself()
{
location.reload(true)
}
function selaction_onchange()
{
if(formtalk.selaction.value == "无")
return;
if (formtalk.selaction.value == "clearscreen")
{
//清屏
if (window.parent.showchatarea.document.all)
window.parent.showchatarea.talkspan.outerHTML="<span id=talkspan name=talkspan></span>"
formtalk.selaction.selectedIndex = 0
}
if(formtalk.selaction.value =="lookat")
{
r = window.prompt("请输入您想要锁定的人名","")
formtalk.hiddenaction.value = r
if( r==null)
{
formtalk.selaction.selectedIndex = 0
return
}
if( r=="" )
{
window.alert("请输入要盯的人名!")
formtalk.selaction.selectedIndex = 0
return;
}
SetCookie("lookat",r);
formtalk.selaction.selectedIndex = 0
}
if (formtalk.selaction.value == "roominfo")
{
if (typeof(window.parent.chatappletarea.getRoomInfo)=="function")
window.parent.chatappletarea.getRoomInfo();
formtalk.selaction .selectedIndex = 0
}
if(formtalk.selaction.value =="viewnickinfo")
{
r = window.prompt("请输入用户名称","")
formtalk.hiddenaction.value = r
if( r==null)
{
formtalk.selaction.selectedIndex = 0
return
}
if( r=="" )
{
window.alert("您想看谁的信息?请在对话框中输入!")
formtalk.selaction.selectedIndex = 0
return;
}
if (typeof(window.parent.chatappletarea.getRoomInfo)=="function")
window.parent.chatappletarea.getUserInfo(r);
formtalk.selaction .selectedIndex = 0
}
if(formtalk.selaction.value =="sendannounce")
{
r = window.prompt("请输入本讨论室公告!","")
formtalk.hiddenaction.value = r
if( r==null)
{
formtalk.selaction.selectedIndex = 0
return
}
if( r=="" )
{
window.alert("未输入公告信息!")
formtalk.selaction.selectedIndex = 0
return;
}
if (typeof(window.parent.chatappletarea.sendAnnounce)=="function")
window.parent.chatappletarea.sendAnnounce(r);
formtalk.selaction .selectedIndex = 0
}
if(formtalk.selaction.value =="kicksb")
{
r = window.prompt("请输入踢谁!(注意:踢人一次损失点数50)","")
formtalk.hiddenaction.value = r
if( r==null)
{
formtalk.selaction.selectedIndex = 0
return
}
if( r=="" )
{
window.alert("请输入踢谁!")
formtalk.selaction.selectedIndex = 0
return;
}
if (typeof(window.parent.chatappletarea.kicksb)=="function")
window.parent.chatappletarea.kicksb(r);
formtalk.selaction .selectedIndex = 0
}
}
function kicksb_onchange()
{
if( formtalk.kicksb.value == "master")
{
alert("您无权踢出master!")
formtalk.kicksb.selectedIndex = 0;
return
}
if( formtalk.kicksb.value !="无" )
{
r = confirm("是否真的要踢出"+formtalk.kicksb .value +"?踢人一次,自己可是要消耗点数50的啊!")
if(!r)
return
formtalk.hiddentalk.value = "毫不留情地踢出:"+formtalk.kicksb.value
formtalk.submit()
formtalk.kicksb.selectedIndex = 0
}
}
function document_oncontextmenu() {
//event.returnValue = false
}
function fontcolor_onchange() {
formtalk.talk.style .color = formtalk.fontcolor.value ;
}
function lybt_onclick() {
lywindow=window.open('../MsgBoard/lyframe.asp','lywindow','',true)
lywindow.moveTo(0,0)
lywindow.resizeTo(screen.availWidth,screen.availHeight)
lywindow.outerWidth=screen.availWidth
lywindow.outerHeight=screen.availHeight
}
function colorpat()
{
this.showchat=""
this.secret=""
this.talkline1=""
this.talkline2=""
this.nicklist=""
}
//cookie操作
function getCookieVal(offset)
{
var endstr=document.cookie.indexOf(";",offset);
if(endstr==-1)
endstr=document.cookie.length;
return unescape(document.cookie.substring(offset,endstr));
}
function GetCookie(name)
{
var arg=name+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while(i<clen)
{
var j=i+alen;
if(document.cookie.substring(i,j)==arg)
return getCookieVal(j);
i=document.cookie.indexOf(" ",i)+1;
if(i==0)
break;
}
return null;
}
function SetCookie(name,value)
{
var argv=SetCookie.arguments;
var argc=SetCookie.arguments.length;
var expires=(2<argc)?argv[2]:null;
var path=(3<argc)?argv[3]:null;
var domain=(4<argc)?argv[4]:null;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -