您的位置:首页 > Web前端 > JavaScript

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

2016-04-05 09:43 609 查看
//转为可编辑状态

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.onkeypress=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);

}

《请看下篇文章》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: