js实现网页在线聊天功能(三)

//转为可编辑状态
function Edit(){
  //Editr_wjl_001_E.document.designMode = "On";
  var iframeDoc =getIframeDoc(document.getElementById("Editr_wjl_001_E"));   
  iframeDoc.designMode = "On";
  document.getElementById("Editr_wjl_001_E").contentWindow.document.body.focus();
  Editr_wjl_001_E.document.οnkeypress=function(){return keyPress(Editr_wjl_001_E.event);};
  window.clipboardData.setData("","");//开启粘贴功能
}
function getIframeDoc(iframe){ 
 return iframe.contentDocument || iframe.contentWindow.document;   

function keyPress(ev){
 //将剪贴版中的文本内容设置成为换行符\n.(在可编辑状态下\n代表的就是<br />);
 window.clipboardData.setData("Text","\n");
 var str=document.getElementById("Editr_wjl_001_E").contentWindow.document.body.innerHTML;
 str=str.replace(/<(?!\/?BR|\/?IMG)[^<>]*>/ig,"");
 if(ev.ctrlKey){
  if(document.getElementById("TYPE_Mess_wjl").checked){
   _MyMessage=str;
   //发送数据
   Sent_Message(_SID,_RID);
  }else{
   document.execCommand("paste");
   return false;
  }
 }
 if(ev.keyCode==13){
  if(!document.getElementById("TYPE_Mess_wjl").checked){
   _MyMessage=str;
   //发送数据
   Sent_Message(_SID,_RID);
   return false;
  }else{
   document.execCommand("paste");
   return false;
  }
    }
    return true;
}
//点击发送按钮发送
function b_send(){
 var str=document.getElementById("Editr_wjl_001_E").contentWindow.document.body.innerHTML;
 str=str.replace(/<(?!\/?BR|\/?IMG)[^<>]*>/ig,"");
 _MyMessage=str;
 Sent_Message(_SID,_RID);
}
//改变输出方式
function CGTYPE(){
 if(!document.getElementById("TYPE_Mess_wjl").checked){
  document.getElementById("USE_SEND_TYPE_WJL_001_I").innerHTML="使用Ctrl发送";
 }else{
  document.getElementById("USE_SEND_TYPE_WJL_001_I").innerHTML="使用Ctrl+Enter发送";
 }
 document.getElementById("Editr_wjl_001_E").contentWindow.document.body.focus();
}
/********************
表情插入
********************/
function insertimg(){ 
   var html = '<img src="icon/'+ _Getimg +'" width=22 height=22 align=absmiddle>';//插入的内容(html),可以是图片。
   _Getimg="";
   var s=document.getElementById("IMG_WJL_CHAT_CET");
 if(s){
  CloseDiv(_Imgdiv);
 }
   if(getBrowser()=='ie'){
        var Editor = window.frames["Editr_wjl_001_E"];   //IE获取iframe方法,否则图片位置跑到页面顶上去了。   
        Editor.focus();   
        o=Editor.document.selection.createRange();   
        o.pasteHTML(html);
   }else if(getBrowser()=='ff'){   
        var Editor = $('Editr_wjl_001_E');   //firefox要通过这种方式获取节点才行   
        Editor.focus();   
        var rng = Editor.contentWindow.getSelection().getRangeAt(0);   
        var frg = rng.createContextualFragment(html);   
        rng.insertNode(frg);   
    }   
}   
//获取浏览器版本   
function getBrowser(){
    var agentValue = window.navigator.userAgent.toLowerCase();   
    if(agentValue.indexOf('msie')>0){   
        return "ie";   
    }else if(agentValue.indexOf('firefox')>0){   
        return "ff";   
    }else if(agentValue.indexOf('chrome')>0){   
        return "chrome";
    }   

//关闭聊天
function CloseChat(){
 var s=document.getElementById("MAIN_DIV_0001_WJL");
 if(s){
  CloseDiv(_Maindiv);
  CloseDiv(_Imgdiv);
 }
}
//发送信息到数据库中
var Send_WJL_MY_Message_001 = false;
function Send_Now_MY_Message_WJL(url){//初始化、指定处理函数、发送请求的函数
 Send_WJL_MY_Message_001 = false;
//开始初始化XMLHttpRequest对象
 if(window.XMLHttpRequest){ //Mozilla 浏览器
   Send_WJL_MY_Message_001 = new XMLHttpRequest();
   if (Send_WJL_MY_Message_001.overrideMimeType) {//设置MiME类别
   Send_WJL_MY_Message_001.overrideMimeType('text/xml');
   }
 }else if(window.ActiveXObject){ // IE浏览器
   try{
       Send_WJL_MY_Message_001 = new ActiveXObject("Msxml2.XMLHTTP");
   }catch(e){
       try{
              Send_WJL_MY_Message_001 = new ActiveXObject("Microsoft.XMLHTTP");
       }catch (e){
   }
   }
 }
 if (!Send_WJL_MY_Message_001) { // 异常,创建对象实例失败
   window.alert("不能创建XMLHttpRequest对象实例.");
   return false;
 }
 Send_WJL_MY_Message_001.onreadystatechange = GET_SIGN_SEND_WJL_MY_OK;
 // 确定发送请求的方式和URL以及是否同步执行下段代码
 Send_WJL_MY_Message_001.open("GET", url, true);
 Send_WJL_MY_Message_001.send(null);
}

《请看下篇文章》

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值