一个符号插入器 中用到的js代码

  /**

  * @author tin555

  */

  function setHTML(html) {

  ContentEdit.value = html;

  eWebEditor.document.designMode="On";

  eWebEditor.document.open();

  eWebEditor.document.write(html);

  eWebEditor.document.body.contentEditable="true";

  eWebEditor.document.execCommand("2D-Position",true,true);

  eWebEditor.document.execCommand("MultipleSelection", true, true);

  eWebEditor.document.execCommand("LiveResize", true, true);

  eWebEditor.document.close();

  eWebEditor.document.body.onpaste = onPaste ;

  //eWebEditor.document.body.onhelp = onHelp ;

  //eWebEditor.document.body.ondragend = new Function("return doDragEnd();");

  eWebEditor.document.onkeydown = new Function("return onKeyDown(eWebEditor.event);");

  //eWebEditor.document.oncontextmenu=new Function("return showContextMenu(eWebEditor.event);");

  //eWebEditor.document.onmousedown = new Function("return onMouseDown();");

  //eWebEditor.document.onmouseup = new Function("return onMouseUp();");

  }

  function getHTML() {

  var html;

  html = eWebEditor.document.body.innerHTML;

  if ((html.toLowerCase()=="<p> </p>")||(html.toLowerCase()=="<p></p>")){

  html = "";

  }

  return html;

  }

  function insertHTML(html) {

  eWebEditor.focus();

  if (eWebEditor.document.selection.type.toLowerCase() != "none"){

  eWebEditor.document.selection.clear() ;

  }

  eWebEditor.document.selection.createRange().pasteHTML(html) ;

  }

  function appendHTML(html) {

  if (eWebEditor.document.selection.type.toLowerCase() != "none"){

  eWebEditor.document.selection.clear() ;

  }

  eWebEditor.document.body.innerHTML += html;

  }

  function doDragEnd(){

  var oSelection = eWebEditor.document.selection.createRange();

  var sRangeType = eWebEditor.document.selection.type;

  if (sRangeType == "Control") {

  var oControl = oSelection.item(0);

  if (oControl.tagName == "IMG"){

  oControl.src = FullPath2SetPath(oControl.src);

  }

  }

  if (sRangeType == "Text") {

  var els = eWebEditor.document.body.getElementsByTagName("IMG");

  var oRngTemp = eWebEditor.document.body.createTextRange();

  for(var i=0;i<els.length;i++){

  oRngTemp.moveToElementText(els(i));

  if (oSelection.inRange(oRngTemp)){

  els(i).src = FullPath2SetPath(els(i).src)

  }

  }

  }

  return true;

  }

  function onKeyDown(event){

  var n_KeyCode = event.keyCode;

  if (n_KeyCode==13){

  return false;

  }

  }

  var oResizing = new Object;

  function onMouseDown(){

  oResizing.El = null;

  if (eWebEditor.document.selection.type == "Control") {

  var oControlRange = eWebEditor.document.selection.createRange();

  oResizing.El = oControlRange(0);

  oResizing.W = oResizing.El.style.width;

  oResizing.H = oResizing.El.style.height;

  }

  }

  function GetClipboardHTML() {

  var oDiv = document.getElementById("eWebEditor_Temp_HTML");

  oDiv.innerHTML = "" ;

  var oTextRange = document.body.createTextRange() ;

  oTextRange.moveToElementText(oDiv) ;

  oTextRange.execCommand("Paste") ;

  var sData = oDiv.innerHTML ;

  oDiv.innerHTML = "" ;

  return sData ;

  }

  function cleanAndPaste( html ) {

  html = html.replace(/<\/?SPAN[^>]*>/gi, "" );

  html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;

  html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ;

  html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;

  html = html.replace(/<\\?\?xml[^>]*>/gi, "") ;

  html = html.replace(/<\/?\w+:[^>]*>/gi, "") ;

  html = html.replace(/ /, " " );

  insertHTML( html ) ;

  }

  function onPaste() {

  var sHTML = GetClipboardHTML() ;

  var re = /<\w[^>]* class="?MsoNormal"?/gi ;

  if ( re.test(sHTML)){

  if ( confirm("你要粘贴的内容好象是从Word中拷出来的,是否要先清除Word格式再粘贴?") ){

  cleanAndPaste( sHTML ) ;

  return false ;

  }

  }

  }