就像下面的js代码,有没有这样的函数?
[php]<?
<script language='javascript'>
var xmlhttp=false;
var sendhttp=false;
var wa_g_is_send_file = false;
var isFocus=false;
var faceimages;
var last_send=0;//0=未知,1=last_send,2=last_get
document.writeln(" ");
//var xxkf_right_ad=' ';
///chatwin/talks/t_06.gif
//var xxkf_right_ad=' ';
//var xxkf_right_ad=' ';
var xxkf_right_ad=' ';
var xxkf_logo=' ';
function xxkf_obj(id)
{
if (document.getElementById)
return document.getElementById(id);
else if (document.all)
return document.all(id);
return document.layers[id];
}
function getPos(el,sProp)
{
var iPos = 0;
//alert(el);
while (el != null)
{
iPos += el["offset" + sProp];
el = el.offsetParent;
}
return iPos;
}
function loadFace()
{
faceimages = new Array()
faceimages[0] = new Array("/ ", "001.jpg");
faceimages[1] = new Array("/:~", "002.jpg");
faceimages[2] = new Array("/:&", "003.jpg");
faceimages[3] = new Array("/:|", "004.jpg");
faceimages[4] = new Array("/8-)", "005.jpg");
faceimages[5] = new Array("/:<", "006.jpg");
faceimages[6] = new Array("/ ", "007.jpg");
faceimages[7] = new Array("/:X", "008.jpg");
faceimages[8] = new Array("/:Z", "009.jpg");
faceimages[9] = new Array("/ ", "010.jpg");
faceimages[10] = new Array("/:-", "011.jpg");
faceimages[11] = new Array("/ ", "012.jpg");
faceimages[12] = new Array("/ ", "013.jpg");
faceimages[13] = new Array("/ ", "014.jpg");
faceimages[14] = new Array("/ ", "015.jpg");
faceimages[15] = new Array("/ ", "016.jpg");
faceimages[16] = new Array("/:+", "017.jpg");
faceimages[17] = new Array("/:#", "018.jpg");
faceimages[18] = new Array("/ ", "019.jpg");
faceimages[19] = new Array("/:T", "020.jpg");
faceimages[20] = new Array("/:!", "021.jpg");
faceimages[21] = new Array("/ ", "022.jpg");
faceimages[22] = new Array("/:>", "023.jpg");
faceimages[23] = new Array("/:*", "024.jpg");
faceimages[24] = new Array("/", "025.jpg");
faceimages[25] = new Array("/", "026.jpg");
faceimages[26] = new Array("/", "027.jpg");
faceimages[27] = new Array("/", "028.jpg");
faceimages[28] = new Array("/", "029.jpg");
faceimages[29] = new Array("/", "030.jpg");
faceimages[30] = new Array("/","031.jpg");
faceimages[31] = new Array("/", "032.jpg");
faceimages[32] = new Array("/", "033.jpg");
faceimages[33] = new Array("/", "034.jpg");
faceimages[34] = new Array("/", "035.jpg");
faceimages[35] = new Array("/", "036.jpg");
faceimages[36] = new Array("/", "037.jpg");
faceimages[37] = new Array("/", "038.jpg");
faceimages[38] = new Array("/","039.jpg");
faceimages[39] = new Array("/", "040.jpg");
faceimages[40] = new Array("/", "041.jpg");
faceimages[41] = new Array("/", "042.jpg");
faceimages[42] = new Array("/:;", "043.jpg");
faceimages[43] = new Array("/", "044.jpg");
faceimages[44] = new Array("/", "045.jpg");
faceimages[45] = new Array("/", "046.jpg");
faceimages[46] = new Array("/","047.jpg");
faceimages[47] = new Array("/", "048.jpg");
faceimages[48] = new Array("/", "049.jpg");
faceimages[49] = new Array("/<^>", "050.jpg");
faceimages[50] = new Array("/", "051.jpg");
for(i = 0; i < faceimages.length; i++)
{
var aimage = new Image();
aimage.src = "/img/face/" + faceimages[1];
}
}
function changeFace(facesdiv, face)
{
//
var thetext=xxkf_obj("msgedit");
thetext.value += face;
showLayer(null, facesdiv, false);
thetext.focus();
}
function displayFace(facesdiv)
{
var s = "";
for(i = 0; i < faceimages.length; i++)
{
s += " [1] + "\" width=\"20\" height=\"20\" border=\"0\" alt=\"" + faceimages[0] + "\" style=\"cursor: pointer; cursor: hand;\" onClick=\"changeFace(" + facesdiv + ", this.alt)\">";
if((i + 1) % 15 == 0) s += " ";
}
// alert(s);
var f = document.getElementById(facesdiv);
//alert(s);
f.innerHTML = s;
}
function ReplaceAll(strOrg,strFind,strReplace)
{
var index = 0;
while(strOrg.indexOf(strFind,index) != -1)
{
strOrg = strOrg.replace(strFind,strReplace);
index = strOrg.indexOf(strFind,index);
}
return strOrg
}
function replaceFace(s)
{
for(i = 0; i < faceimages.length; i++)
{
s = ReplaceAll(s, faceimages[0], "[img src=\"" + xxkf_base+"/img/face/" + faceimages[1] + "\" width=\"20\" height=\"20\" border=\"0\">");
}
return s;
}
function trim(str)
{
if(str == null) return "" ;
while(str.charAt(0) == ' ' || str.charAt(0) == '\r' || str.charAt(0) == '\n' )
{
str = str.substring(1,str.length);
}
while(str.charAt(str.length-1) == ' ' || str.charAt(str.length-1) == '\r' || str.charAt(str.length-1) == '\n')
{
str = str.substring(0,str.length-1);
}
return str ;
}
function Checkten(n){
if(n<10){
return '0'+n;
}else{
return n.toString();
}
}
function GetNowTime(){
var d=new Date();
return d.getFullYear()+'-'+Checkten(d.getMonth()+1)+'-'+Checkten(d.getDate())+' '+Checkten(d.getHours())+':'+Checkten(d.getMinutes())+':'+Checkten(d.getSeconds());
}
function showLayer(el, m, bshow)
{
if(bshow && m)
{
var x=getPos(el,"Left");
var y=getPos(el,"Top") + el.offsetHeight;
m.style.left =x;
m.style.top = y;
m.style.display = '';
}else{
m.style.display = 'none';
}
}
function trimHTML(html)
{
html = replaceFace(html);
html=html.replace(/&/g,"&");
html=html.replace(/"+html+"";
html = html.replace(/\n/g, " " );
html = html.replace(/ /g," ");
//html = html.replace(//gi, "");
if(add){
talkmsg.document.body.innerHTML+=html;
}else
talkmsg.document.body.innerHTML=html;
talkmsg.scroll(0, 50000);
}
function create_xmlhttp(){
var obj=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
try {
obj = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
obj = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
obj = false;
}
}
@end @*/
if (!obj && typeof XMLHttpRequest!='undefined') {
try {
obj = new XMLHttpRequest();
} catch (e) {
obj=false;
}
}
if (!obj && window.createRequest) {
try {
obj = window.createRequest();
} catch (e) {
obj=false;
}
}
return obj;
}
function ajax_open_url(url,result_func)
{
sendhttp=create_xmlhttp();
sendhttp.open("GET",url,true);
sendhttp.onreadystatechange=result_func;
sendhttp.send(null);
}
function result_default()
{
}
function sendmsg_result(){
try{
if (sendhttp.readyState==4) {
if(sendhttp.status==200){
var dataArray = sendhttp.responseXML.getElementsByTagName('result');
var dataArrayLen = dataArray.length;
var insertData='';
try{
if(dataArray[0].firstChild.data=='failed'){
insertData="(发送错误,客服不在线) ";
SetChatWords(insertData,true);
}
}catch(e){
alert(sendhttp.responseText);
}
// alert(insertData);
}
}
}catch(e){
//alert('connect failed');
}
}
function sendmsg()
{
var msg=trim(document.getElementById("msgedit").value);
if(msg==""){
document.getElementById("msgedit").value='';
// alert('不能发送空白信息');
return;
}
var tmp_str='';
if(last_send==2 || last_send==0){
tmp_str="我 "+GetNowTime()+": ";
}
tmp_str+='';
tmp_str+=trimHTML(msg);
tmp_str+=' ';
last_send=1;
//document.getElementById("talkmsg").innerHTML+=tmp_str;
SetChatWords(tmp_str,true);
var url=xxkf_host+"/sendmsg?site="+siteid+"&xxkf_cookie="+xxkf_cookie+"&to="+escape(to)+"&msg="+escape(msg);
ajax_open_url(url,sendmsg_result);
document.getElementById("msgedit").value='';
}
function getmsg()
{
xmlhttp=create_xmlhttp();
xmlhttp.open("GET", xxkf_host+"/getmsg?site="+siteid+"&xxkf_cookie="+xxkf_cookie,true);
xmlhttp.onreadystatechange=parse_getmsg;
xmlhttp.send(null);
}
function parse_getmsg() {
try{
if (xmlhttp.readyState==4) {
if(xmlhttp.status==200){
var dataArray = xmlhttp.responseXML.getElementsByTagName('msg');
var dataArrayLen = dataArray.length;
var insertData='';
var type;
var i=0;
// alert(dataArrayLen);
for(i=0;i";
insertData+=dataArray.getAttribute('show_name');
if(to!=dataArray.getAttribute('from')){//change talker
to=dataArray.getAttribute('from');
}
insertData+=" ";
insertData+=GetNowTime();
insertData+=":";
}
type=dataArray.getAttribute("type");
if(type=="file"){
// alert("收到一个文件");
insertData+="收到一个文件,文件名:";
insertData+=dataArray.getAttribute('file_name');
insertData+=",文件大小:";
insertData+=dataArray.getAttribute('file_size');
//insertData+="点这里下载 ";
var down_url=".getAttribute('from')+"&file_num="+dataArray.getAttribute('file_num')+"&filename="+dataArray.getAttribute('file_name')+"' target=_blank>点这里下载 ";
//alert(down_url);
insertData+=down_url;
}
if(type=="msg"){
insertData+=trimHTML(unescape(dataArray.firstChild.data));
}
if(type=='pic'){
//alert('收到一张图片');
var img_src=xxkf_host+"/getpic/"+dataArray.getAttribute('file_num')+".jpg?site="+siteid+"&xxkf_cookie="+xxkf_cookie+"&to="+dataArray.getAttribute('from')+"&file_num="+dataArray.getAttribute('file_num')+"&file_name="+dataArray.getAttribute('file_num')+".jpg";
insertData+=' ';
}
insertData+=" ";
if(!isFocus){
window.focus();
document.getElementById("msgedit").focus();
}
}catch(e){
//alert(xmlhttp.responseText);
// alert(e);
}
// alert(i+dataArrayLen);
// alert(insertData);
}
if(dataArrayLen>0){
last_send=2;
SetChatWords(insertData,true);
}
//document.getElementById("talkmsg").innerHTML+=insertData;
//alert(xmlhttp.responseText)
}
setTimeout("getmsg()",2000);
//sleep(1);
//alert(xmlhttp.responseText);
//getmsg();
// alert(xmlhttp.responseText);
}
}catch(e){
//alert('connect failed');
setTimeout("getmsg()",2000);
}
}
function saveChat(){
var chathtml=talkmsg.document.body.innerHTML;
//var chathtml=obj.body.outerHTML;
try{
var code_win = window.open('about:blank','_blank','menubar=yes,locationbar=yes,toolbar=yes,resizable=yes,scrollbars=yes');
code_win.document.open();
code_win.document.write(' ');
code_win.document.write(chathtml);
code_win.document.write("");
// code_win.document.close();
code_win.document.execCommand('SaveAs',true,'talk.htm');
code_win.close();
}catch(e){
//alert(e);
}
}
function isEnter(evt){
var keyCode;
var ctrlKey;
var altKey;
var send_key=document.getElementById("send_key");
keyCode = document.layers ? evt.which : evt.keyCode;
ctrlKey = document.layers ? evt.ctrlKey : evt.ctrlKey;
altKey = document.layers ? evt.altKey : evt.altKey;
if(keyCode==13 ){
if((!send_key.checked && ctrlKey) || (send_key.checked && !ctrlKey)){
//alert(show_msg);
sendmsg();
}else if(ctrlKey){
document.getElementById("msgedit").value+='\n';
}
}
}
function resetIfEnter(evt){
return true;
}
function closechat()
{
var s=new Image;
//ajax_open_url('/closechat?xxkf_cookie='+xxkf_cookie,result_default);
s.src=xxkf_host+'/closechat?site='+siteid+'&xxkf_cookie='+xxkf_cookie;
alert("您已经关闭了对话!谢谢您对我们的支持");
//alert('closechat');
//var s=new Image;
//s.src="/closechat";
}
function beforeclose()
{
/* alert('before close');
try{
event.returnValue = "如果关闭该窗口,您将中断与对方的通话!";
}catch(e){}
*/
return "如果关闭该窗口,您将中断与对方的通话!";
//var s=new Image;
//s.src="/beforeclosechat";
}
function sfFinish()
{
var result = xxkf_file_frm.document.body.innerHTML;
//alert(result);
// alert('test');
// return;
if(result != null && result == "") return;
if(result.indexOf("200") == 0)
{
result = "已发送成功";
}
else
{
result = "发送失败";
}
filename = document.wa_frm_send_file.filename.value;
filename = filename.substr(filename.lastIndexOf("\\") + 1);
// alert(result);
// document.recvfrm.content.innerHTML += "文件(" + filename + ")" + result+ "... ";
SetChatWords("文件(" + filename + ")" + result+ "... ",true);
wa_g_is_send_file = false;
}
function waSendFile(thefrm)
{
//alert(thefrm.action);
thefrm.action=xxkf_host+'/postfile?site='+siteid+'&xxkf_cookie='+xxkf_cookie+'&siteid='+siteid;
if(thefrm.filename.value == "")
{
alert('请选择文件!');
return false;
}
var filename = thefrm.filename.value;
filename = filename.substr(filename.lastIndexOf("\\") + 1);
// document.recvfrm.content.innerHTML += "文件(" + filename + ")发送中... ";
SetChatWords("文件(" + filename + ")发送中... ",true);
filewin(false);
wa_g_is_send_file = true;
return true;
}
function filewin(b)
{
if(wa_g_is_send_file)
{
SetChatWords("文件发送中,请稍候... ",true);
return;
}
var fileb = document.getElementById("wa_file_box");
var textb = document.getElementById("wa_text_box");
if(b)
{
textb.style.display = 'none';
fileb.style.display = '';
}
else
{
fileb.style.display = 'none';
textb.style.display = '';
}
}
function chatstart()
{
if(first_msg!=''){
SetChatWords(unescape(first_msg)+" ",true);
}
getmsg();
}
function change_send_key()
{
return;
var send_key=document.getElementById("send_key");
var enter_msg=xxkf_obj("enter_msg");
if(send_key.checked){
enter_msg.innerHTML='按Enter直接发送';
}else{
enter_msg.innerHTML='ctrl+回车键发送信息';
}
}
</script>
?>[/php]
[ 本帖最后由 riwsh 于 2006-9-17 06:48 PM 编辑 ]