⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 html_edit.js

📁 是个不错的文件代码,希望大家好好用,
💻 JS
📖 第 1 页 / 共 3 页
字号:
  }
  return oPrevious;
}

function removeExtraniousSpans(aeObject, oElement, oPrevious)
{
  for(var i=0;i<oElement.childNodes.length;i++) { removeExtraniousSpans(aeObject, oElement.childNodes[i], oElement); }
  if (oElement.tagName=="SPAN" && oPrevious != null && oPrevious.tagName =="P")
  {
    if (oElement.innerText == oPrevious.innerText)
    {
      cClass=oElement.className;
      pClass=oPrevious.className;
      if(cClass.length) { oPrevious.setAttribute("class", pClass); }
      var css = oPrevious.style.cssText;
      var styleProps = css.split("; ");
      var curStyleProps = oElement.style.cssText.split("; ");
      for (var i=0;i<curStyleProps.length;i++)
      {
        var kv = curStyleProps[i].split(":");
        var cProp = kv[0];
        var cValue = kv[1];
        var hasProp = false;
        for (var k=0;k<styleProps.length;k++)
        {
          var pkv = styleProps[k].split(":");
          var pProp = pkv[0];
          var pValue = pkv[1];
          if (cProp == pProp)
          {
            hasProp = true;
            break;
          }
        }
        if (!hasProp) { oPrevious.style.cssText = oPrevious.style.cssText + ";" + cProp + ":" + cValue; }
      }
      oElement.removeNode(false);
    }
  }
}

//paste
function jk_edit_onPaste(num)
{
  DHTMLSafe=aeObjects[num];
  window.event.returnValue = true;
  var tr = DHTMLSafe.DOM.selection.createRange();
  tr.execCommand("Paste");
  replaceFontsWithSpans(DHTMLSafe, DHTMLSafe.DOM.body, null);
  condenseSpans(DHTMLSafe, DHTMLSafe.DOM.body, null);
}

function jk_edit_onPastetext()
{
  var sText = HTMLEncode(clipboardData.getData("Text"));
  sText = sText.replace(/\n/g,'<BR>');
  insertHtml(sText);
}

function HTMLEncode(text)
{
  text = text.replace(/&/g, "&amp;") ;
  text = text.replace(/"/g, "&quot;") ;
  text = text.replace(/</g, "&lt;") ;
  text = text.replace(/>/g, "&gt;") ;
  text = text.replace(/'/g, "&#146;") ;
  return text ;
}

function jk_edit_onPasteWord()
{
  if (BrowserInfo.IsIE55OrMore)
  { cleanAndPaste(GetClipboardHTML()); }
  else if (confirm("这个操作需要Internet Explorer version 5.5 或以上版本. 你需要粘贴它而不去除格式吗?"))
  { decCommand(DECMD_PASTE); }
}

function GetClipboardHTML()
{
  var oDiv = document.getElementById("divTemp")
  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(/&nbsp;/, " " );
  var re = new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi");
  html = html.replace( re, "<div$2</div>" );
  insertHtml( html );
}

function jk_edit_onToggleDetails(bVal, num)
{
  DHTMLSafe=aeObjects[num];
  if (bVal == null) { DHTMLSafe.ShowDetails = !(DHTMLSafe.ShowDetails); }
  else { DHTMLSafe.ShowDetails = bVal; }
}

function editTableWin(num) { ditTbl = window.showModalDialog(inc + "win_table_edit.htm",window,"dialogHeight: 350px; dialogWidth: 350px; dialogTop: 150px; dialogLeft: 150px; center: Yes; help: No; resizable: No; status: No;"); }

function onTableWin(num)
{  
  DHTMLSafe=aeObjects[num];
  if(DHTMLSafe.QueryStatus(5022) == 1) 
  {
    DHTMLSafe.focus();
    return;
  }  
  jk_edit_hot = num;
  arr = window.showModalDialog(inc + "win_table.htm",window,"dialogHeight: 250px; dialogWidth: 480px; dialogTop: 150px; dialogLeft: 150px; center: Yes; help: No; resizable: No; status: No;");
}

function onTable(num)
{
  if (jk_edit_HTMLMode[num]) { return; }
  DHTMLSafe=aeObjects[num];
  if(DHTMLSafe.QueryStatus(5022) == 1) 
  {
    DHTMLSafe.focus();
    return;
  }
  if(  document.all.jk_edit_frame.style.visibility == "visible" )
  {
    cancelTable();
    return;
  }
  var str = "<div id=\"tblsel\" style=\"background-color:#000066;position:absolute;";
  str = str + "width:0;height:0;z-index:-1;\"></div>";
  str = str + makeTable(4, 5);
  str = str + "<div style=\"text-align:center;background-color:menu;font-size: 12px\" id=\"tblstat\">插入表格</div>";
  var ifrm = document.frames("jk_edit_frame");
  var obj=eval("document.all.jk_edit_tbtn"+num);
  var x=0,y=0;
  ifrm.document.body.innerHTML=str;
  while(obj.tagName!="BODY")
  {
    x+=obj.offsetLeft;
    y+=obj.offsetTop;
    obj=obj.offsetParent;
  }  
  document.all.jk_edit_frame.style.pixelTop = y + 24;
  document.all.jk_edit_frame.style.pixelLeft = x;
  document.all.jk_edit_frame.style.pixelWidth = 0;
  document.all.jk_edit_frame.style.pixelHeight = 0;
  document.all.jk_edit_frame.style.visibility = "visible";
  jk_edit_hot=num;
  document.frames("jk_edit_frame").document.body.onmouseover = paintTable;  
  document.frames("jk_edit_frame").document.body.onclick = insertTable;
  if(typeof(document.onmousedown)=="function") { jk_edit_olddocmd = document.onmousedown; }
  else { jk_edit_olddoccmd=null; }
  document.onmousedown = cancelTable;
  DHTMLSafe.onmousedown = cancelTable;
  event.cancelBubble = true;
  ifrm.document.body.onselectstart=new Function("return false;");
  document.all.jk_edit_frame.style.pixelWidth = ifrm.document.all.oTable.offsetWidth + 3
  document.all.jk_edit_frame.style.pixelHeight = ifrm.document.all.oTable.offsetHeight + 3 +
  ifrm.document.all.tblstat.offsetHeight;
}

function insertTable(rows, cols, attrs, num)
{
  if(typeof(num)=="undefined") { num=jk_edit_hot; }
  DHTMLSafe=aeObjects[num];
  if (typeof(rows) == "undefined")
  {
    var se = document.frames('jk_edit_frame').window.event.srcElement;
    if(se.tagName!='TD')
    {
      cancelTable();
      return;
    }
    tableparamobj.NumRows = se.parentElement.rowIndex + 1;
    tableparamobj.NumCols = se.cellIndex + 1;
    tableparamobj.TableAttrs = "style='border-collapse:collapse;' border=1 bordercolor=#000000 cellPadding=1 cellSpacing=0 width=98% align=center";
    cancelTable();
  }
  else
  {
    tableparamobj.NumRows = rows;
    tableparamobj.NumCols = cols;
    tableparamobj.TableAttrs = attrs;
  }
  DHTMLSafe.ExecCommand(5022,0, tableparamobj);    
  DHTMLSafe.focus();
}

function paintTable()
{
  var se = document.frames('jk_edit_frame').window.event.srcElement;
  var sr, sc, tbl, fAll;
  fAll = document.frames('jk_edit_frame').document.all;
  if(se.tagName!='TD')
  {
    sr = 0;
    sc = 0;
    var str="&nbsp;Cancel";
    fAll.tblsel.style.width = 0;
    fAll.tblsel.style.height = 0;
    return;
  }
  tbl=fAll.oTable;
  sr=se.parentElement.rowIndex;
  sc=se.cellIndex;
  if(!is_ie4)
  {
    if(tbl.rows.length == sr+1)
    {
      var r = tbl.insertRow(-1);
      var td;
      for(var i=0;i<tbl.rows(1).cells.length;i++)
      {
        td = r.insertCell(-1);
        td.innerHTML = "&nbsp;";
        td.style.pixelWidth = 20;
        td.style.pixelHeight = 20;
      }
      var bdy = document.frames("jk_edit_frame").document.body;      
      var ifrm = document.frames("jk_edit_frame");
      document.all.jk_edit_frame.style.pixelWidth = ifrm.document.all.oTable.offsetWidth + 3
      document.all.jk_edit_frame.style.pixelHeight = ifrm.document.all.oTable.offsetHeight + 3 +
      ifrm.document.all.tblstat.offsetHeight;
    }
    if(tbl.rows(1).cells.length == sc+1)
    {
      var td;
      for(var i=0;i<tbl.rows.length;i++)
      {
        td = tbl.rows(i).insertCell(-1);
        td.innerHTML = "&nbsp;";
        td.style.pixelWidth = 20;
        td.style.pixelHeight = 20;
      }      
      var bdy = document.frames("jk_edit_frame").document.body;
      document.all.jk_edit_frame.style.pixelWidth = bdy.createTextRange().boundingWidth + 5;
      document.all.jk_edit_frame.style.pixelHeight = bdy.createTextRange().boundingHeight + 5;
    }
  }
  var str=(sr+1) + "×" + (sc+1) + "表格";
  fAll.tblsel.style.width = se.offsetWidth*(sc+1)+5;
  fAll.tblsel.style.height = se.offsetHeight*(sr+1)+5;
  fAll.tblstat.innerHTML = str;
}

function makeTable(rows, cols)
{
  var a, b, str, n;
  str = "<table style=\"table-layout:fixed;border-style:solid; cursor:default;\" "; 
  str = str + "id=\"oTable\" cellpadding=\"0\" ";
  str = str + "cellspacing=\"0\" cols=" + cols;
  str = str + " border=6>\n";
  for (a=0;a<rows;a++)
  {
    str = str + "<tr>\n";
    for(b=0;b<cols;b++)
    {      
      str = str + "<td width=\"20\">" 
      str = str + "&nbsp;</td>\n";  
    }  
    str = str + "</tr>\n";
  }
  str = str + "</table>"
  return str;
}

function cancelTable(a)
{
  document.onmousedown=null;
  document.all.jk_edit_frame.style.visibility = "hidden";
  document.all.jk_edit_frame.style.pixelWidth = 0;
  document.all.jk_edit_frame.style.pixelHeight = 0;
  if(a==false) return;
  if(typeof(jk_edit_olddocmd)=="function")
  {
    jk_edit_olddocmd(false);
    document.onmousedown = jk_edit_olddocmd;
  }
  jk_edit_olddocmd = null;
  document.all.jk_edit_frame.style.pixelWidth = 10;
  document.all.jk_edit_frame.style.pixelHeight = 10;
}

function jk_edit_insertPage()
{
  DHTMLSafe.DOM.selection.createRange().pasteHTML("<br>[pagecute]<br>");
  DHTMLSafe.focus();
  DHTMLSafe.DOM.body.focus();
}

function onFilewin() { window.open("win_file.htm", "jk_edit_filewin", "left=240,top=220,width=320,height=150,menubar=no,toolbar=no,location=no,status=no,resizable=yes,scrollbars=yes"); }

function jk_edit_insertFile(fPath,fText)
{
  if ((fText==null) || (fText=="")) { fText="[点击下载]"; }
  DHTMLSafe.DOM.selection.createRange().pasteHTML("<a href='" + fPath + "' target='_blank'>" + fText + "</a>");
  DHTMLSafe.focus();
  DHTMLSafe.DOM.body.focus();
}

function onImagewin(num)
{
  DHTMLSafe=aeObjects[num];
  DHTMLSafe.focus();
  if (typeof(jk_edit_imgwin) == "undefined" || jk_edit_imgwin.closed)
  {
    var szURL;
    szURL= "win_img.htm?"+tmp_uppath;
    //jk_edit_imgwin = window.showModalDialog(szURL,window,"dialogHeight: 240px; dialogWidth: 330px; dialogTop: 150px; dialogLeft: 150px; center: Yes; help: No; resizable: No; status: No;scroll:no;");
    jk_edit_imgwin = window.open(szURL, "jk_edit_imgwin", "left=240,top=200,width=400,height=240,menubar=no,toolbar=no,location=no,status=no,resizable=yes,scrollbars=yes");
  }
  //jk_edit_imgwin.focus();
}

function onImage(u, base_url, iborder, ialign, ialt, num)
{
  DHTMLSafe=aeObjects[num];
  var img = "<img src=\"" + u + "\" border=\"" + iborder + "\" align=\"" + ialign + "\" alt=\"" + ialt + "\">";
  DHTMLSafe.DOM.selection.createRange().pasteHTML(img);
  //jk_edit_imgwin.close();
}

function jk_edit_onBeforeSave(aeObject)
{
  for (var i=0;i<aeObject.DOM.images.length;i++)
  {
    hs=aeObject.DOM.images[i].getAttribute("STYLE",0).height;
    ws=aeObject.DOM.images[i].getAttribute("STYLE",0).width;
    if(hs.length)
    {
      aeObject.DOM.images[i].removeAttribute("HEIGHT", 0);       
      aeObject.DOM.images[i].setAttribute("HEIGHT", replaceString("px", "", hs),0); 
      aeObject.DOM.images[i].getAttribute("STYLE",0).removeAttribute("HEIGHT",0);
    }
    if(ws.length)
    {
      aeObject.DOM.images[i].removeAttribute("WIDTH", 0);  
      aeObject.DOM.images[i].setAttribute("WIDTH", replaceString("px", "", ws),0); 
      aeObject.DOM.images[i].getAttribute("STYLE",0).removeAttribute("WIDTH",0);
    }
  }
  for (var k=0;k<aeObject.DOM.all.tags("TABLE").length;k++)
  {
    hs=aeObject.DOM.all.tags("TABLE").item(k).getAttribute("STYLE",0).height;
    ws=aeObject.DOM.all.tags("TABLE").item(k).getAttribute("STYLE",0).width;
    if(hs.length)
    {
      aeObject.DOM.all.tags("TABLE").item(k).removeAttribute("HEIGHT", 0);       
      aeObject.DOM.all.tags("TABLE").item(k).setAttribute("HEIGHT", replaceString("px", "", hs),0); 
      aeObject.DOM.all.tags("TABLE").item(k).getAttribute("STYLE",0).removeAttribute("HEIGHT",0);
    }
    if(ws.length)
    {
      aeObject.DOM.all.tags("TABLE").item(k).removeAttribute("WIDTH", 0);  
      aeObject.DOM.all.tags("TABLE").item(k).setAttribute("WIDTH", replaceString("px", "", ws),0); 
      aeObject.DOM.all.tags("TABLE").item(k).getAttribute("STYLE",0).removeAttribute("WIDTH",0);
    }
  }
  var content = aeObject.DOM.body.innerHTML;
  if(content.length) { content = aeObject.FilterSourceCode(content); }
  replaceString("&#65279;", " ", content); 
  return content;
}

function jk_edit_submit_form(obj, field)
{
  var i;  
  for(i=1;i<=jk_edit_count;i++)
  {  
    DHTMLSafe=aeObjects[i];
    if (typeof(aeapi_local_onBeforeSave) == "function") { var jk_edit_content = aeapi_local_onBeforeSave(DHTMLSafe, aeFieldnames[num]); }
    else if (typeof(aeapi_onBeforeSave) == "function") { var jk_edit_content = aeapi_onBeforeSave(DHTMLSafe, aeFieldnames[num]); }
    else { var jk_edit_content = jk_edit_onBeforeSave(DHTMLSafe, aeFieldnames[num]); }
    eval(obj).elements[element_idx].value = jk_edit_content;
  }
  eval(obj).submit();
}

function replaceString(oldS,newS,fullS)
{
  for (var i=0; i<fullS.length; i++) { if (fullS.substring(i,i+oldS.length) == oldS) { fullS = fullS.substring(0,i)+newS+fullS.substring(i+oldS.length,fullS.length); } }
  return fullS;
}

function jk_edit_about() { window.showModalDialog(inc + "win_about.htm","","dialogHeight: 260px; dialogWidth: 400px; dialogTop: 150px; dialogLeft: 150px; center: Yes; help: No; resizable: No; status: No;"); }

function jk_edit_editsource(num)
{
  DHTMLSafe=aeObjects[num];
  DHTMLSafe.DOM.selection.empty();
  codewin =window.showModalDialog(inc + "win_source.htm",window,"dialogHeight: 490px; dialogWidth: 485px; dialogTop: 70px; dialogLeft: 150px; center: Yes; help: No; resizable: No; status: No;");
}

function jk_edit_editsourceinline(num, bVal)
{
  DHTMLSafe=aeObjects[num];
  thisContentItem=eval("document.all.jk_word");
  if(jk_edit_HTMLMode[num]==bVal) return;
  DHTMLSafe.DOM.selection.empty();
  if(jk_edit_HTMLMode[num])
  { 
    document.normaltag.className="latched";
    document.normaltag.type="";
    document.htmltag.className="flat";
    document.htmltag.type="btn";
    if(jk_edit_defaultfont[num].length) 
    { DHTMLSafe.DOM.body.style.font=jk_edit_defaultfont[num]; }
    else
    {
      DHTMLSafe.DOM.body.style.fontFamily="宋体";
      DHTMLSafe.DOM.body.style.fontSize="12px";
    }
    thisContentItem.value=DHTMLSafe.DOM.body.createTextRange().text;
    DHTMLSafe.DOM.body.innerHTML = thisContentItem.value;  
    jk_edit_HTMLMode[num] = false;
  }
  else
  { 
    var re=/((<br>)+)/ig;
    document.normaltag.className="flat";
    document.normaltag.type="btn";
    document.htmltag.className="latched";
    document.htmltag.type="";
    DHTMLSafe.DOM.body.style.fontFamily = "宋体";
    DHTMLSafe.DOM.body.style.fontSize = "12px";
    thisContentItem.value=DHTMLSafe.DOM.body.innerHTML;
    DHTMLSafe.DOM.body.innerHTML = "";
    DHTMLSafe.DOM.body.createTextRange().text = thisContentItem.value.replace(re, "$1\n");
    jk_edit_HTMLMode[num] = true;
  }
}

function jk_edit_specialchars()
{
  var szURL = inc + "win_specialchars.htm";
  jk_edit_specialwin = window.showModalDialog(szURL,window,"dialogHeight: 275px; dialogWidth: 390px; dialogTop: 70px; dialogLeft: 150px; center: Yes; help: No; resizable: No; status: No;");
}

function jk_edit_quickfont(num)
{
  if (jk_edit_HTMLMode[num]) { return; }
  DHTMLSafe=aeObjects[num];
  oSel=eval('document.all.oQuickFont'+num);  
  DHTMLSafe.ExecCommand(5044, 0, oSel.options[oSel.selectedIndex].name);
  DHTMLSafe.focus();
  DHTMLSafe.DOM.body.focus();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -