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

📄 xhtmleditor.js

📁 从此不再用那些文章系统来做图片站了!有了专业的图片站程序了! 1:采用MSSQL数据库
💻 JS
📖 第 1 页 / 共 2 页
字号:
var oUtil = new EditorUtil();var onloadOverrided = false;function onload_new()  {   onload_original();    setMozEdit();  }  function onload_original()  {  }  function setMozEdit(oName)   {     if ((oName != null) && (oName!="")) {        try {document.getElementById("idContent" + oName).contentDocument.designMode="on";} catch(e) {}    } else {        for (var i=0; i<oUtil.arrEditor.length; i++)        {        try {document.getElementById("idContent" + oUtil.arrEditor[i]).contentDocument.designMode="on";} catch(e) {alert(e)}        }    }  } function EditorUtil() {    this.obj = null;    this.oEditor = null;    this.arrEditor = [];}function InnovaEditor(oName) {    this.oName = oName;    this.height = "400px";    this.width = "100%";        this.RENDER = RENDER;    this.doCmd = edt_doCmd;    this.getHTMLBody = edt_getHTMLBody;    this.getXHTMLBody = edt_getXHTMLBody;    this.insertHTML = edt_insertHTML;    this.cleanDeprecated = edt_cleanDeprecated;    this.cleanEmptySpan =  edt_cleanEmptySpan;    this.cleanFonts = edt_cleanFonts;    this.cleanTags = edt_cleanTags;     this.replaceTags = edt_replaceTags;    this.toggleViewSource = edt_toggleViewSource;    this.viewSource = edt_viewSource;    this.applySource = edt_applySource;}function RENDER() {}function edt_doCmd(sCmd,sOption)	{    var oEditor=document.getElementById("idContent"+this.oName).contentWindow;    oEditor.document.execCommand(sCmd,false,sOption);    }function edt_getHTMLBody()	{    var oEditor=document.getElementById("idContent"+this.oName).contentWindow;    sHTML=oEditor.document.body.innerHTML;    sHTML=String(sHTML).replace(/ contentEditable=true/g,"");    sHTML = String(sHTML).replace(/\<PARAM NAME=\"Play\" VALUE=\"0\">/ig,"<PARAM NAME=\"Play\" VALUE=\"-1\">");    return sHTML;	}function edt_getXHTMLBody()  {	if (document.getElementById("chkViewSource"+this.oName).checked) 	    {            var oEditor=document.getElementById("idContent"+this.oName).contentWindow;	        return oEditor.document.body.textContent;        } else {            var oEditor=document.getElementById("idContent"+this.oName).contentWindow;            this.cleanDeprecated();            return recur(oEditor.document.body,"");        }      }/*Insert custon HTML function*/function edt_insertHTML(sHTML)  {  var oEditor=document.getElementById("idContent"+this.oName).contentWindow;  var oSel=oEditor.getSelection();   var range = oSel.getRangeAt(0);      var docFrag = range.createContextualFragment(sHTML);  range.collapse(true);  var lastNode = docFrag.childNodes[docFrag.childNodes.length-1];  range.insertNode(docFrag);  try { oEditor.document.designMode="on"; } catch (e) {}  if (lastNode.nodeType==Node.TEXT_NODE)     {    range = oEditor.document.createRange();    range.setStart(lastNode, lastNode.nodeValue.length);    range.setEnd(lastNode, lastNode.nodeValue.length);    oSel = oEditor.getSelection();    oSel.removeAllRanges();    oSel.addRange(range);    }  }/************************************	CLEAN DEPRECATED TAGS; Used in loadHTML, getHTMLBody, getXHTMLBody *************************************/function edt_cleanDeprecated()  {    var oEditor=document.getElementById("idContent"+this.oName).contentWindow;  var elements;  elements=oEditor.document.body.getElementsByTagName("STRIKE");  this.cleanTags(elements,"line-through");  elements=oEditor.document.body.getElementsByTagName("S");  this.cleanTags(elements,"line-through");    elements=oEditor.document.body.getElementsByTagName("U");  this.cleanTags(elements,"underline");  this.replaceTags("DIR","DIV");  this.replaceTags("MENU","DIV");   this.replaceTags("CENTER","DIV");  this.replaceTags("XMP","PRE");  this.replaceTags("BASEFONT","SPAN");//will be removed by cleanEmptySpan()    elements=oEditor.document.body.getElementsByTagName("APPLET");  while(elements.length>0)     {    var f = elements[0];    theParent = f.parentNode;    theParent.removeChild(f);    }    this.cleanFonts();  this.cleanEmptySpan();  return true;  }function edt_cleanEmptySpan()  {  var bReturn=false;  var oEditor=document.getElementById("idContent"+this.oName).contentWindow;  var reg = /<\s*SPAN\s*>/gi;  while (true)     {    var allSpans = oEditor.document.getElementsByTagName("SPAN");    if(allSpans.length==0) break;    var emptySpans = [];     for (var i=0; i<allSpans.length; i++)       {      if (getOuterHTML(allSpans[i]).search(reg) == 0)        emptySpans[emptySpans.length]=allSpans[i];      }    if (emptySpans.length == 0) break;    var theSpan, theParent;    for (var i=0; i<emptySpans.length; i++)       {      theSpan = emptySpans[i];      theParent = theSpan.parentNode;      if (!theParent) continue;      if (theSpan.hasChildNodes())         {        var range = oEditor.document.createRange();        range.selectNodeContents(theSpan);        var docFrag = range.extractContents();        theParent.replaceChild(docFrag, theSpan);        }       else         {        theParent.removeChild(theSpan);        }      bReturn=true;      }    }  return bReturn;  }	function edt_cleanFonts()   {  var oEditor=document.getElementById("idContent"+this.oName).contentWindow;  var allFonts = oEditor.document.body.getElementsByTagName("FONT");  if(allFonts.length==0)return false;    var f; var range;  while (allFonts.length>0)     {    f = allFonts[0];    if (f.hasChildNodes && f.childNodes.length==1 && f.childNodes[0].nodeType==1 && f.childNodes[0].nodeName=="SPAN")       {      //if font containts only span child node            var theSpan = f.childNodes[0];      copyAttribute(theSpan, f);            range = oEditor.document.createRange();      range.selectNode(f);      range.insertNode(theSpan);      range.selectNode(f);      range.deleteContents();      }     else       if (f.parentNode.nodeName=="SPAN" && f.parentNode.childNodes.length==1)         {        //font is the only child node of span.        var theSpan = f.parentNode;        copyAttribute(theSpan, f);        theSpan.innerHTML = f.innerHTML;        }       else         {        var newSpan = oEditor.document.createElement("SPAN");        copyAttribute(newSpan, f);        newSpan.innerHTML = f.innerHTML;        f.parentNode.replaceChild(newSpan, f);        }    }  return true;  }function edt_cleanTags(elements,sVal)  {  var oEditor=document.getElementById("idContent"+this.oName).contentWindow;  if(elements.length==0)return false;    var f;var range;  while(elements.length>0)     {    f = elements[0];    if(f.hasChildNodes && f.childNodes.length==1 && f.childNodes[0].nodeType==1 && f.childNodes[0].nodeName=="SPAN")       {//if font containts only span child node            var theSpan=f.childNodes[0];      if(sVal=="bold")theSpan.style.fontWeight="bold";      if(sVal=="italic")theSpan.style.fontStyle="italic";      if(sVal=="line-through")theSpan.style.textDecoration="line-through";      if(sVal=="underline")theSpan.style.textDecoration="underline";      range=oEditor.document.createRange();      range.selectNode(f);      range.insertNode(theSpan);      range.selectNode(f);      range.deleteContents();      }     else       if (f.parentNode.nodeName=="SPAN" && f.parentNode.childNodes.length==1)         {        //font is the only child node of span.        var theSpan=f.parentNode;        if(sVal=="bold")theSpan.style.fontWeight="bold";        if(sVal=="italic")theSpan.style.fontStyle="italic";        if(sVal=="line-through")theSpan.style.textDecoration="line-through";        if(sVal=="underline")theSpan.style.textDecoration="underline";                theSpan.innerHTML=f.innerHTML;        }       else         {        var newSpan = oEditor.document.createElement("SPAN");        if(sVal=="bold")newSpan.style.fontWeight="bold";        if(sVal=="italic")newSpan.style.fontStyle="italic";        if(sVal=="line-through")newSpan.style.textDecoration="line-through";        if(sVal=="underline")newSpan.style.textDecoration="underline";        newSpan.innerHTML=f.innerHTML;        f.parentNode.replaceChild(newSpan,f);        }    }  return true;  }function edt_replaceTags(sFrom,sTo)  {  var oEditor=document.getElementById("idContent"+this.oName).contentWindow;    var elements=oEditor.document.body.getElementsByTagName(sFrom);    while(elements.length>0)     {    f = elements[0];        var newSpan = oEditor.document.createElement(sTo);    newSpan.innerHTML=f.innerHTML;    f.parentNode.replaceChild(newSpan,f);    }  }function copyAttribute(newSpan,f)     {    if ((f.face != null) && (f.face != ""))newSpan.style.fontFamily=f.face;    if ((f.size != null) && (f.size != ""))        {        var nSize="";        if(f.size==1)nSize="8pt";        else if(f.size==2)nSize="10pt";        else if(f.size==3)nSize="12pt";        else if(f.size==4)nSize="14pt";        else if(f.size==5)nSize="18pt";        else if(f.size==6)nSize="24pt";        else if(f.size>=7)nSize="36pt";        else if(f.size<=-2||f.size=="0")nSize="8pt";        else if(f.size=="-1")nSize="10pt";        else if(f.size==0)nSize="12pt";        else if(f.size=="+1")nSize="14pt";        else if(f.size=="+2")nSize="18pt";        else if(f.size=="+3")nSize="24pt";        else if(f.size=="+4"||f.size=="+5"||f.size=="+6")nSize="36pt";        else nSize="";        if(nSize!="")newSpan.style.fontSize=nSize;        }    if ((f.style.backgroundColor != null)&&(f.style.backgroundColor != ""))newSpan.style.backgroundColor=f.style.backgroundColor;    if ((f.color != null)&&(f.color != ""))newSpan.style.color=f.color;    }function GetElement(oElement,sMatchTag)//Used in realTime() only.    {    while (oElement!=null&&oElement.tagName!=sMatchTag)        {        if(oElement.tagName=="BODY")return null;        oElement=oElement.parentNode;        }    return oElement;    }/************************************	HTML to XHTML*************************************/function lineBreak1(tag) //[0]<TAG>[1]text[2]</TAG>  {  arrReturn = ["\n","",""];

⌨️ 快捷键说明

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