📄 richtext.js
字号:
/**********************************************************************
Version: FreeRichTextEditor.com Version 1.00.
License: http://creativecommons.org/licenses/by/2.5/
Description: RunTime File.
Author: Copyright (C) 2006 Steven Ewing
**********************************************************************
Html2Xhtml : Javascript Mini HTML to XHTML Parser
Copyright (C) 2006 All rights reserved. Jacob Lee <letsgolee@lycos.co.kr>
Free for noncommercial && commercial use.
**********************************************************************/
function getXHTML(data){return new Html2Xhtml(data).parse()};function Html2Xhtml(data){this.data=data||''};Html2Xhtml.prototype.setHTML=function(data){this.data=data||this.data};Html2Xhtml.prototype.parse=function(){var state=0;var xhtml='';var p=0;var unget=false;var tagname='';var attrname='';var attrval='';var quot='';var data=this.data;var len=data.length;var phpval='';var tagtype=0;var insidepre=false;while(1){if(p>=len&&!unget){return xhtml}if(unget){unget=false}else{var c=data.substr(p++,1)}switch(state){case 0:if(c=='<'){state=1;break}var cc=c.charCodeAt();if(Html2Xhtml.charEntities[cc]){xhtml+='&'+Html2Xhtml.charEntities[cc]+';'}else{xhtml+=c}break;case 1:if(/[a-zA-Z]/.test(c)){state=2;tagtype=1;tagname=c.toLowerCase();break}if(c=='/'){state=2;tagtype=-1;break}if(c=='!'){if(data.substr(p,2)=='--'){xhtml+='<!--';p+=2;state=9;break}xhtml+='<!';state=10;break}if(c=='?'){state=11;xhtml+='<'+'?';break}xhtml+='<';unget=true;state=0;break;case 2:if(Html2Xhtml.isSpaceChar[c]){xhtml+=(!insidepre&&tagtype>0&&Html2Xhtml.hasNLBefore[tagname]&&xhtml.length&&xhtml.substr(xhtml.length-1,1)!='\n'?'\n':'')+(tagtype>0?'<':'</')+tagname;state=3;break}if(c=='/'){xhtml+=(!insidepre&&tagtype>0&&Html2Xhtml.hasNLBefore[tagname]&&xhtml.length&&xhtml.substr(xhtml.length-1,1)!='\n'?'\n':'')+(tagtype>0?'<':'</')+tagname;if(data.substr(p,1)!='>'){state=3;break}state=4;break}if(c=='>'){xhtml+=(!insidepre&&tagtype>0&&Html2Xhtml.hasNLBefore[tagname]&&xhtml.length&&xhtml.substr(xhtml.length-1,1)!='\n'?'\n':'')+(tagtype>0?'<':'</')+tagname;unget=true;state=4;break}tagname+=c.toLowerCase();break;case 3:if(Html2Xhtml.isSpaceChar[c]){break}if(c=='/'){if(data.substr(p,1)!='>'){break}state=4;break}if(c=='>'){unget=true;state=4;break}attrname=c.toLowerCase();attrval='';state=5;break;case 4:xhtml+=(Html2Xhtml.isEmptyTag[tagname]?' />':'>')+(!insidepre&&tagtype<0&&Html2Xhtml.hasNLAfter[tagname]&&p<len&&data.substr(p,1)!='\n'?'\n':'');if(tagtype>0&&Html2Xhtml.dontAnalyzeContent[tagname]){state=13;attrname=attrval=quot='';tagtype=0;break}if(tagname=='pre'){insidepre=!insidepre}state=0;tagname=attrname=attrval=quot='';tagtype=0;break;case 5:if(Html2Xhtml.isSpaceChar[c]){xhtml+=' '+attrname;if(Html2Xhtml.isEmptyAttr[attrname]){xhtml+='="'+attrname+'"'}state=3;break}if(c=='/'){xhtml+=' '+attrname;if(Html2Xhtml.isEmptyAttr[attrname]){xhtml+='="'+attrname+'"'}if(data.substr(p,1)!='>'){state=3;break}state=4;break}if(c=='>'){xhtml+=' '+attrname;if(Html2Xhtml.isEmptyAttr[attrname]){xhtml+='="'+attrname+'"'}unget=true;state=4;break}if(c=='='){xhtml+=' '+attrname+'=';state=6;break}if(c=='"'||c=="'"){attrname+='?'}else{attrname+=c.toLowerCase()}break;case 6:if(Html2Xhtml.isSpaceChar[c]){xhtml+=(Html2Xhtml.isEmptyAttr[attrname]?'"'+attrname+'"':'""');state=3;break}if(c=='>'){xhtml+=(Html2Xhtml.isEmptyAttr[attrname]?'"'+attrname+'"':'""');unget=true;state=4;break}if(c=='/'&&data.substr(p,1)=='>'){xhtml+=(Html2Xhtml.isEmptyAttr[attrname]?'"'+attrname+'"':'""');state=4;break}if(c=='"'||c=="'"){quot=c;state=8;break}attrval=c;state=7;break;case 7:if(Html2Xhtml.isSpaceChar[c]){xhtml+='"'+Html2Xhtml.escapeQuot(attrval,'"')+'"';state=3;break}if(c=='/'&&data.substr(p,1)=='>'){xhtml+='"'+Html2Xhtml.escapeQuot(attrval,'"')+'"';state=4;break}if(c=='>'){unget=true;xhtml+='"'+Html2Xhtml.escapeQuot(attrval,'"')+'"';state=4;break}attrval+=c;break;case 8:if(c==quot){xhtml+='"'+Html2Xhtml.escapeQuot(attrval,'"')+'"';state=3;break}attrval+=c;break;case 9:if(c=='-'&&data.substr(p,2)=='->'){p+=2;xhtml+='-->';state=0;break}xhtml+=c;break;case 10:if(c=='>'){state=0}xhtml+=c;break;case 11:if(c=="'"||c=='"'){quot=c;state=12;break}if(c=='?'&&data.substr(p,1)=='>'){state=0;xhtml+='?'+'>';p++;break}xhtml+=c;break;case 12:if(c==quot){state=11;xhtml+=quot+Html2Xhtml.escapeQuot(phpval,quot)+quot;phpval=quot='';break}phpval+=c;break;case 13:if(c=='<'&&data.substr(p,tagname.length+1).toLowerCase()=='/'+tagname){unget=true;state=0;tagname='';break}if(tagname=='textarea'){xhtml+=Html2Xhtml.escapeHTMLChar(c)}else{xhtml+=c}break}}return xhtml};Html2Xhtml.escapeQuot=function(str,quot){if(!quot){quot='"'}if(quot=='"'){return str.replace(/"/ig,'\\"')}return str.replace(/'/ig,"\\'")};Html2Xhtml.escapeHTMLChar=function(c){if(c=='&'){return'&'}if(c=='<'){return'<'}if(c=='>'){return'>'}var cc=c.charCodeAt();if(Html2Xhtml.charEntities[cc]){return'&'+Html2Xhtml.charEntities[cc]+';'}else{return c}};Html2Xhtml.isSpaceChar={' ':1,'\r':1,'\n':1,'\t':1};Html2Xhtml.isEmptyTag={'area':1,'base':1,'basefont':1,'br':1,'hr':1,'img':1,'input':1,'link':1,'meta':1,'param':1};Html2Xhtml.isEmptyAttr={'checked':1,'compact':1,'declare':1,'defer':1,'disabled':1,'ismap':1,'multiple':1,'noresize':1,'nosave':1,'noshade':1,'nowrap':1,'readonly':1,'selected':1};Html2Xhtml.hasNLBefore={'div':1,'p':1,'table':1,'tbody':1,'tr':1,'td':1,'th':1,'title':1,'head':1,'body':1,'script':1,'comment':1,'li':1,'meta':1,'h1':1,'h2':1,'h3':1,'h4':1,'h5':1,'h6':1,'hr':1,'ul':1,'ol':1,'option':1,'link':1};Html2Xhtml.hasNLAfter={'html':1,'head':1,'body':1,'p':1,'th':1,'style':1};Html2Xhtml.dontAnalyzeContent={'textarea':1,'script':1,'style':1};Html2Xhtml.charEntities={160:'nbsp',161:'iexcl',162:'cent',163:'pound',164:'curren',165:'yen',166:'brvbar',167:'sect',168:'uml',169:'copy',170:'ordf',171:'laquo',172:'not',173:'shy',174:'reg',175:'macr',176:'deg',177:'plusmn',178:'sup2',179:'sup3',180:'acute',181:'micro',182:'para',183:'middot',184:'cedil',185:'sup1',186:'ordm',187:'raquo',188:'frac14',189:'frac12',190:'frac34',191:'iquest',192:'agrave',193:'aacute',194:'acirc',195:'atilde',196:'auml',197:'aring',198:'aelig',199:'ccedil',200:'egrave',201:'eacute',202:'ecirc',203:'euml',204:'igrave',205:'iacute',206:'icirc',207:'iuml',208:'eth',209:'ntilde',210:'ograve',211:'oacute',212:'ocirc',213:'otilde',214:'ouml',215:'times',216:'oslash',217:'ugrave',218:'uacute',219:'ucirc',220:'uuml',221:'yacute',222:'thorn',223:'szlig',224:'agrave',225:'aacute',226:'acirc',227:'atilde',228:'auml',229:'aring',230:'aelig',231:'ccedil',232:'egrave',233:'eacute',234:'ecirc',235:'euml',236:'igrave',237:'iacute',238:'icirc',239:'iuml',240:'eth',241:'ntilde',242:'ograve',243:'oacute',244:'ocirc',245:'otilde',246:'ouml',247:'divide',248:'oslash',249:'ugrave',250:'uacute',251:'ucirc',252:'uuml',253:'yacute',254:'thorn',255:'yuml',338:'oelig',339:'oelig',352:'scaron',353:'scaron',376:'yuml',710:'circ',732:'tilde',8194:'ensp',8195:'emsp',8201:'thinsp',8204:'zwnj',8205:'zwj',8206:'lrm',8207:'rlm',8211:'ndash',8212:'mdash',8216:'lsquo',8217:'rsquo',8218:'sbquo',8220:'ldquo',8221:'rdquo',8222:'bdquo',8224:'dagger',8225:'dagger',8240:'permil',8249:'lsaquo',8250:'rsaquo',8364:'euro',402:'fnof',913:'alpha',914:'beta',915:'gamma',916:'delta',917:'epsilon',918:'zeta',919:'eta',920:'theta',921:'iota',922:'kappa',923:'lambda',924:'mu',925:'nu',926:'xi',927:'omicron',928:'pi',929:'rho',931:'sigma',932:'tau',933:'upsilon',934:'phi',935:'chi',936:'psi',937:'omega',945:'alpha',946:'beta',947:'gamma',948:'delta',949:'epsilon',950:'zeta',951:'eta',952:'theta',953:'iota',954:'kappa',955:'lambda',956:'mu',957:'nu',958:'xi',959:'omicron',960:'pi',961:'rho',962:'sigmaf',963:'sigma',964:'tau',965:'upsilon',966:'phi',967:'chi',968:'psi',969:'omega',977:'thetasym',978:'upsih',982:'piv',8226:'bull',8230:'hellip',8242:'prime',8243:'prime',8254:'oline',8260:'frasl',8472:'weierp',8465:'image',8476:'real',8482:'trade',8501:'alefsym',8592:'larr',8593:'uarr',8594:'rarr',8595:'darr',8596:'harr',8629:'crarr',8656:'larr',8657:'uarr',8658:'rarr',8659:'darr',8660:'harr',8704:'forall',8706:'part',8707:'exist',8709:'empty',8711:'nabla',8712:'isin',8713:'notin',8715:'ni',8719:'prod',8721:'sum',8722:'minus',8727:'lowast',8730:'radic',8733:'prop',8734:'infin',8736:'ang',8743:'and',8744:'or',8745:'cap',8746:'cup',8747:'int',8756:'there4',8764:'sim',8773:'cong',8776:'asymp',8800:'ne',8801:'equiv',8804:'le',8805:'ge',8834:'sub',8835:'sup',8836:'nsub',8838:'sube',8839:'supe',8853:'oplus',8855:'otimes',8869:'perp',8901:'sdot',8968:'lceil',8969:'rceil',8970:'lfloor',8971:'rfloor',9001:'lang',9002:'rang',9426:'copy',9674:'loz',9824:'spades',9827:'clubs',9829:'hearts',9830:'diams'}; function trim(str) { if (typeof str != "string") return str; str = str.replace(/^\s+|\s+$/g, ""); return str;}
function rteGetOffsetTop(elm) { var mOffsetTop = elm.offsetTop; var mOffsetParent = elm.offsetParent; while(mOffsetParent) { mOffsetTop += mOffsetParent.offsetTop; mOffsetParent = mOffsetParent.offsetParent;}
return mOffsetTop;}; function rteGetOffsetLeft(elm) { var mOffsetLeft = elm.offsetLeft; var mOffsetParent = elm.offsetParent; while(mOffsetParent) { mOffsetLeft += mOffsetParent.offsetLeft; mOffsetParent = mOffsetParent.offsetParent;}
return mOffsetLeft;}; function rteHideMenus() { rteMouseOutFormatMenu(); document.getElementById("format3").style.display = "none"; rteMouseOutFontFaceMenu(); document.getElementById("fontface3").style.display = "none"; rteMouseOutFontSizeMenu(); document.getElementById("fontsize3").style.display = "none"; rteMouseOutFontColorMenu(); document.getElementById("fontcolor3").style.display = "none";}; function rteColorClick(hexcolor) { rteHideMenus(); document.getElementById(rteName).contentWindow.document.execCommand("forecolor", false, hexcolor); document.getElementById("fontcolor4").style.backgroundColor = hexcolor;}; function rteMouseOverMenuFontColorContents() { this.className = "rtedropdown14";}; function rteMouseOutMenuFontColorContents() { this.className = "rtedropdown13";}; function rteMouseOverMenuContents() { this.style.color = "#FFFFFF"; this.style.backgroundColor = "#316AC5"; document.getElementById(rteName).contentWindow.focus();}; function rteMouseOutMenuContents() { this.style.color = "#000000"; this.style.backgroundColor = "#FFFFFF";}; function rteMouseDownMenuContents() { if (this.innerHTML == "Header 1") { document.getElementById(rteName).contentWindow.document.execCommand("formatblock", false, "<h1>"); document.getElementById("format1").innerHTML = "Header 1";} else if (this.innerHTML == "Header 2") { document.getElementById(rteName).contentWindow.document.execCommand("formatblock", false, "<h2>"); document.getElementById("format1").innerHTML = "Header 2";} else if (this.innerHTML == "Header 3") { document.getElementById(rteName).contentWindow.document.execCommand("formatblock", false, "<h3>"); document.getElementById("format1").innerHTML = "Header 3";} else if (this.innerHTML == "Header 4") { document.getElementById(rteName).contentWindow.document.execCommand("formatblock", false, "<h4>"); document.getElementById("format1").innerHTML = "Header 4";} else if (this.innerHTML == "Header 5") { document.getElementById(rteName).contentWindow.document.execCommand("formatblock", false, "<h5>"); document.getElementById("format1").innerHTML = "Header 5";} else if (this.innerHTML == "Header 6") { document.getElementById(rteName).contentWindow.document.execCommand("formatblock", false, "<h6>"); document.getElementById("format1").innerHTML = "Header 6";} else if (this.innerHTML == "Paragraph") { document.getElementById(rteName).contentWindow.document.execCommand("formatblock", false, "<p>"); document.getElementById("format1").innerHTML = "Paragraph";} else if (this.innerHTML == "Arial") { document.getElementById(rteName).contentWindow.document.execCommand("fontname", false, "arial"); document.getElementById("fontface1").innerHTML = "Arial";} else if (this.innerHTML == "Arial Black") { document.getElementById(rteName).contentWindow.document.execCommand("fontname", false, "arial black"); document.getElementById("fontface1").innerHTML = "Arial Black";} else if (this.innerHTML == "Arial Narrow") { document.getElementById(rteName).contentWindow.document.execCommand("fontname", false, "arial narrow"); document.getElementById("fontface1").innerHTML = "Arial Narrow";} else if (this.innerHTML == "Courier New") { document.getElementById(rteName).contentWindow.document.execCommand("fontname", false, "courier new"); document.getElementById("fontface1").innerHTML = "Courier New";} else if (this.innerHTML == "Century Gothic") { document.getElementById(rteName).contentWindow.document.execCommand("fontname", false, "century gothic"); document.getElementById("fontface1").innerHTML = "Century Gothic";} else if (this.innerHTML == "Comic Sans MS") { document.getElementById(rteName).contentWindow.document.execCommand("fontname", false, "comic sans ms"); document.getElementById("fontface1").innerHTML = "Comic Sans MS";} else if (this.innerHTML == "Impact") { document.getElementById(rteName).contentWindow.document.execCommand("fontname", false, "impact"); document.getElementById("fontface1").innerHTML = "Impact";} else if (this.innerHTML == "Tahoma") { document.getElementById(rteName).contentWindow.document.execCommand("fontname", false, "tahoma"); document.getElementById("fontface1").innerHTML = "Tahoma";} else if (this.innerHTML == "Times New Roman") { document.getElementById(rteName).contentWindow.document.execCommand("fontname", false, "times new roman"); document.getElementById("fontface1").innerHTML = "Times New Roman";} else if (this.innerHTML == "Trebuchet MS") { document.getElementById(rteName).contentWindow.document.execCommand("fontname", false, "trebuchet ms"); document.getElementById("fontface1").innerHTML = "Trebuchet MS";} else if (this.innerHTML == "Verdana") { document.getElementById(rteName).contentWindow.document.execCommand("fontname", false, "verdana"); document.getElementById("fontface1").innerHTML = "Verdana";} else if (this.innerHTML == "1") { document.getElementById(rteName).contentWindow.document.execCommand("fontsize", false, "1"); document.getElementById("fontsize1").innerHTML = "1";} else if (this.innerHTML == "2") { document.getElementById(rteName).contentWindow.document.execCommand("fontsize", false, "2"); document.getElementById("fontsize1").innerHTML = "2";} else if (this.innerHTML == "3") { document.getElementById(rteName).contentWindow.document.execCommand("fontsize", false, "3"); document.getElementById("fontsize1").innerHTML = "3";} else if (this.innerHTML == "4") { document.getElementById(rteName).contentWindow.document.execCommand("fontsize", false, "4"); document.getElementById("fontsize1").innerHTML = "4";} else if (this.innerHTML == "5") { document.getElementById(rteName).contentWindow.document.execCommand("fontsize", false, "5"); document.getElementById("fontsize1").innerHTML = "5";} else if (this.innerHTML == "6") { document.getElementById(rteName).contentWindow.document.execCommand("fontsize", false, "6"); document.getElementById("fontsize1").innerHTML = "6";} else if (this.innerHTML == "7") { document.getElementById(rteName).contentWindow.document.execCommand("fontsize", false, "7"); document.getElementById("fontsize1").innerHTML = "7";}
this.style.color = "#000000"; this.style.backgroundColor = "#FFFFFF"; rteHideMenus();}; function rteMouseOverFormatMenu() { document.getElementById("format1").className = "rtedropdown4"; document.getElementById("format2").className = "rtedropdown5";}; function rteMouseDownFormatMenu() { rteHideMenus(); document.getElementById("format1").className = "rtedropdown4"; document.getElementById("format2").className = "rtedropdown6"; document.getElementById("format1").style.left = rteGetOffsetLeft(document.getElementById("format1")); document.getElementById("format1").style.top = rteGetOffsetTop(document.getElementById("format1")) + document.getElementById("format1").offsetHeight; document.getElementById("format3").style.display = (document.getElementById("format3").style.display == "none" ) ? "" : "none"; var kids = document.getElementsByTagName('DIV'); for (var i=0; i < kids.length; i++) { if (kids[i].id == "format1" || kids[i].id == "format2") { kids[i].onmouseout = rteMouseDownFormatMenu;} else if (kids[i].id == "fontface1" || kids[i].id == "fontface2") { kids[i].onmouseout = rteMouseOutFontFaceMenu;} else if (kids[i].id == "fontsize1" || kids[i].id == "fontsize2") { kids[i].onmouseout = rteMouseOutFontSizeMenu;} else if (kids[i].id == "fontcolor1" || kids[i].id == "fontcolor2") { kids[i].onmouseout = rteMouseOutFontColorMenu;}
}
}; function rteMouseOutFormatMenu() { document.getElementById("format1").className = "rtedropdown1"; document.getElementById("format2").className = "rtedropdown2";}; function rteMouseOverFontFaceMenu() { document.getElementById("fontface1").className = "rtedropdown4"; document.getElementById("fontface2").className = "rtedropdown5";}; function rteMouseDownFontFaceMenu() { rteHideMenus(); document.getElementById("fontface1").className = "rtedropdown4"; document.getElementById("fontface2").className = "rtedropdown6"; document.getElementById("fontface1").style.left = rteGetOffsetLeft(document.getElementById("fontface1")); document.getElementById("fontface1").style.top = rteGetOffsetTop(document.getElementById("fontface1")) + document.getElementById("fontface1").offsetHeight; document.getElementById("fontface3").style.display = (document.getElementById("fontface3").style.display == "none" ) ? "" : "none"; var kids = document.getElementsByTagName('DIV'); for (var i=0; i < kids.length; i++) { if (kids[i].id == "format1" || kids[i].id == "format2") { kids[i].onmouseout = rteMouseOutFormatMenu;} else if (kids[i].id == "fontface1" || kids[i].id == "fontface2") { kids[i].onmouseout = rteMouseDownFontFaceMenu;} else if (kids[i].id == "fontsize1" || kids[i].id == "fontsize2") { kids[i].onmouseout = rteMouseOutFontSizeMenu;} else if (kids[i].id == "fontcolor1" || kids[i].id == "fontcolor2") { kids[i].onmouseout = rteMouseOutFontColorMenu;}
}
}; function rteMouseOutFontFaceMenu() { document.getElementById("fontface1").className = "rtedropdown1"; document.getElementById("fontface2").className = "rtedropdown2";}; function rteMouseOverFontSizeMenu() { document.getElementById("fontsize1").className = "rtedropdown4"; document.getElementById("fontsize2").className = "rtedropdown5";}; function rteMouseDownFontSizeMenu() { rteHideMenus(); document.getElementById("fontsize1").className = "rtedropdown4"; document.getElementById("fontsize2").className = "rtedropdown6"; document.getElementById("fontsize1").style.left = rteGetOffsetLeft(document.getElementById("fontsize1")); document.getElementById("fontsize1").style.top = rteGetOffsetTop(document.getElementById("fontsize1")) + document.getElementById("fontsize1").offsetHeight; document.getElementById("fontsize3").style.display = (document.getElementById("fontsize3").style.display == "none" ) ? "" : "none"; var kids = document.getElementsByTagName('DIV'); for (var i=0; i < kids.length; i++) { if (kids[i].id == "format1" || kids[i].id == "format2") { kids[i].onmouseout = rteMouseOutFormatMenu;} else if (kids[i].id == "fontface1" || kids[i].id == "fontface2") { kids[i].onmouseout = rteMouseOutFontFaceMenu;} else if (kids[i].id == "fontsize1" || kids[i].id == "fontsize2") { kids[i].onmouseout = rteMouseDownFontSizeMenu;} else if (kids[i].id == "fontcolor1" || kids[i].id == "fontcolor2") { kids[i].onmouseout = rteMouseOutFontColorMenu;}
}
}; function rteMouseOutFontSizeMenu() { document.getElementById("fontsize1").className = "rtedropdown1"; document.getElementById("fontsize2").className = "rtedropdown2";}; function rteMouseOverFontColorMenu() { document.getElementById("fontcolor1").className = "rtedropdown8"; document.getElementById("fontcolor2").className = "rtedropdown5b";}; function rteMouseDownFontColorMenu() { rteHideMenus(); document.getElementById("fontcolor1").className = "rtedropdown12"; document.getElementById("fontcolor2").className = "rtedropdown9b"; document.getElementById("fontcolor1").style.left = rteGetOffsetLeft(document.getElementById("fontcolor1")); document.getElementById("fontcolor1").style.top = rteGetOffsetTop(document.getElementById("fontcolor1")) + document.getElementById("fontcolor1").offsetHeight; document.getElementById("fontcolor3").style.display = (document.getElementById("fontcolor3").style.display == "none" ) ? "" : "none"; var kids = document.getElementsByTagName('DIV'); for (var i=0; i < kids.length; i++) { if (kids[i].id == "format1" || kids[i].id == "format2") { kids[i].onmouseout = rteMouseOutFormatMenu;} else if (kids[i].id == "fontface1" || kids[i].id == "fontface2") { kids[i].onmouseout = rteMouseOutFontFaceMenu;} else if (kids[i].id == "fontsize1" || kids[i].id == "fontsize2") { kids[i].onmouseout = rteMouseOutFontSizeMenu;} else if (kids[i].id == "fontcolor1" || kids[i].id == "fontcolor2") { kids[i].onmouseout = rteMouseDownFontColorMenu;}
}
}; function rteMouseOutFontColorMenu() { document.getElementById("fontcolor1").className = "rtedropdown10"; document.getElementById("fontcolor2").className = "rtedropdown11b";}; function rteBtnMouseUpBottom() { this.className = "rtebtn9";}; function rteBtnMouseOutBottom() { this.className = "rtebtn6";}; function rteBtnMouseOutDownBottom() { this.className = "rtebtn9";}; function rteBtnMouseOverBottom() { this.className = "rtebtn7";}; function rteModeType(id) { if (id == "rte_design_mode") { rteFormHandler2(); document.getElementById(rteName).contentWindow.document.body.innerHTML = getXHTML(trim(document.getElementById(rteFormName).value)); document.getElementById("tb1").style.display = ""; document.getElementById("tb2").style.display = ""; document.getElementById("tb3").style.display = ""; document.getElementById(rteFormName).style.display = "none"; document.getElementById(rteName).style.display = ""; document.getElementById("preview_" + rteName).style.display = "none"; document.getElementById(rteName).contentWindow.focus(); return false;} else if (id == "rte_code_mode") { rteFormHandler(); document.getElementById(rteFormName).value = getXHTML(trim(document.getElementById(rteName).contentWindow.document.body.innerHTML)); document.getElementById("tb1").style.display = "none"; document.getElementById("tb2").style.display = "none"; document.getElementById("tb3").style.display = "none"; document.getElementById(rteFormName).style.display = ""; document.getElementById(rteName).style.display = "none"; document.getElementById("preview_" + rteName).style.display = "none";} else if (id == "rte_preview_mode") { rteFormHandler(); html = "<div style=\"padding:5px;\">" + getXHTML(trim(document.getElementById(rteFormName).value)) + "</div>"; document.getElementById('preview_' + rteName).contentWindow.document.open(); document.getElementById('preview_' + rteName).contentWindow.document.write("<html><head><style type=\"text/css\">@import url("+document.getElementById("preview_css").value+");</style></head><body>" + html + "</body></html>"); document.getElementById('preview_' + rteName).contentWindow.document.close(); document.getElementById("tb1").style.display = "none"; document.getElementById("tb2").style.display = "none"; document.getElementById("tb3").style.display = "none"; document.getElementById(rteFormName).style.display = "none"; document.getElementById(rteName).style.display = "none"; document.getElementById("preview_" + rteName).style.display = "";}
}; function rteBtnMouseDownBottom() { var kids = document.getElementsByTagName("DIV"); for (var i=0; i < kids.length; i++) { if(kids[i].className == "rtebtn6" || kids[i].className == "rtebtn7" || kids[i].className == "rtebtn8" || kids[i].className == "rtebtn9"){ kids[i].className = "rtebtn6"; kids[i].onmouseover = rteBtnMouseOverBottom; kids[i].onmouseout = rteBtnMouseOutBottom; kids[i].onmousedown = rteBtnMouseDownBottom; kids[i].onmouseup = rteBtnMouseUpBottom;}
}
this.className = "rtebtn9"; this.onmouseover = rteBtnMouseOverBottom; this.onmouseout = rteBtnMouseOutDownBottom; this.onmouseup = rteBtnMouseUpBottom;}; function rteBtnMouseDown() { var kids = document.getElementsByTagName('DIV'); for (var i=0; i < kids.length; i++) { if (kids[i].className == "rtebtn2" || kids[i].className == "rtebtn3" || kids[i].className == "rtebtn4") { kids[i].className = "rtebtn1";}
}
rteSelection(); this.className = "rtebtn4";}; function rteBtnMouseUp() { this.className = "rtebtn4";}; function rteBtnMouseOut() { this.className = "rtebtn1";}; function rteBtnMouseOver() { this.className = "rtebtn2";}; function rteBtnInsertImage() { window.open(rteHTMLPathInsertImage , "blank","toolbar=no,width=300,height=220");}; function rteBtnEditLink() { window.open(rteHTMLPathEditLink , "blank","toolbar=no,width=250,height=300");}; function rteBtnEditTable() { window.open(rteHTMLPathEditTable , "blank","toolbar=no,width=320,height=210");}; function rteBtnCreateLink() { window.open(rteHTMLPathInsertLink , "blank","toolbar=no,width=250,height=300");}; function rteBtnPrint() { if (document.all)
{ var oFrame = window.frames[rteName]; oFrame.focus(); oFrame.print();}
else
{ var oFrame = document.getElementById(rteName).contentWindow; oFrame.focus(); oFrame.window.print();}
}; function rteInsertHTML(html) { if (document.all) { var oRng = document.getElementById(rteName).contentWindow.document.selection.createRange(); oRng.pasteHTML(html); oRng.collapse(false); oRng.select();} else { document.getElementById(rteName).contentWindow.document.execCommand('insertHTML', false, html);}
}; function rteBtnInsertForm() { window.open(rteHTMLPathInsertForm , "blank","toolbar=no,width=320,height=180");}; function rteBtnInsertCheckbox() { window.open(rteHTMLPathInsertCheckbox , "blank","toolbar=no,width=320,height=150");}; function rteBtnInsertRadio() { window.open(rteHTMLPathInsertRadiobutton , "blank","toolbar=no,width=320,height=150");}; function rteBtnInsertFlash() { window.open(rteHTMLPathInsertFlash , "blank","toolbar=no,width=350,height=130");}; function rteBtnInsertTextArea() { window.open(rteHTMLPathInsertTextArea , "blank","toolbar=no,width=320,height=230");}; function rteBtnInsertSubmit() { window.open(rteHTMLPathInsertSubmit , "blank","toolbar=no,width=320,height=130");}; function rteBtnInsertImageSubmit() { window.open(rteHTMLPathInsertImageSubmit , "blank","toolbar=no,width=320,height=130");}; function rteBtnInsertReset() { window.open(rteHTMLPathInsertReset , "blank","toolbar=no,width=320,height=130");}; function rteBtnInsertHidden() { window.open(rteHTMLPathInsertHidden , "blank","toolbar=no,width=320,height=130");}; function rteBtnInsertPassword() { window.open(rteHTMLPathInsertPassword , "blank","toolbar=no,width=320,height=150");}; function rteBtnInsertText() { window.open(rteHTMLPathInsertText , "blank","toolbar=no,width=320,height=170");}; function rteAbout() { msg=window.open("","msg","height=100,width=320"); msg.document.write("<style>"); msg.document.write("body, td {"); msg.document.write("background-color:#ECE9D8;"); msg.document.write("font-family:arial;"); msg.document.write("font-size:11px;"); msg.document.write("}"); msg.document.write("input {"); msg.document.write("font-family:arial;"); msg.document.write("font-size:11px;"); msg.document.write("}"); msg.document.write("select {"); msg.document.write("font-family:arial;"); msg.document.write("font-size:11px;"); msg.document.write("}"); msg.document.write("</style>"); msg.document.write("<fieldset>"); msg.document.write("<legend><b>About FreeRichTextEditor</b></legend>"); msg.document.write("<table width=\"100%\" cellspacing=\"2\" cellpadding=\"0\" border=\"0\">"); msg.document.write("<tr>"); msg.document.write("<td colspan=\"2\" align=\"center\">Copyright © 2006 Steven Ewing<br><a href=\"http://www.freerichtexteditor.com\" target=\"_blank\">www.FreeRichTextEditor.com</a></td>"); msg.document.write("</tr>"); msg.document.write("<tr>"); msg.document.write("<td colspan=\"2\" align=\"center\"><input type=\"button\" value=\"License\" onclick=\"window.open('http://www.freerichtexteditor.com/page/5.htm' , 'blank','');\"><input type=\"button\" value=\"Donate\" onclick=\"window.open('http://www.freerichtexteditor.com/page/7.htm' , 'blank','');\"><input type=\"button\" value=\"Download\" onclick=\"window.open('http://www.freerichtexteditor.com/page/4.htm' , 'blank','');\"></td>"); msg.document.write("</tr>"); msg.document.write("</table>"); msg.document.write("</fieldset>"); msg.document.close();}; function rteBtnInsertTable() { window.open(rteHTMLPathInsertTable , "blank","toolbar=no,width=320,height=240");}; function rteBtnInsertTableRowBefore() { if (window.getSelection)
{ var selected_obj = document.getElementById(rteName).contentWindow.window.getSelection().focusNode;}
else if (document.getSelection)
{ var selected_obj = document.getElementById(rteName).contentWindow.document.getSelection().focusNode;}
else if (document.selection)
{ var selected_obj = document.getElementById(rteName).contentWindow.document.selection.createRange().parentElement();}
current_tag = selected_obj; while(current_tag.tagName != "TABLE"){ if (current_tag.tagName == "TR") { cellTotal = current_tag.cells.length; RowIndex = current_tag.rowIndex;}
if (current_tag.parentNode.tagName == "TBODY") { var x=current_tag.parentNode.insertRow(RowIndex); for (i=0; i < cellTotal; i++)
{ var j=x.insertCell(i); j.innerHTML=" ";}
}
current_tag = current_tag.parentNode;}
}; function rteBtnInsertTableRowAfter() { if (window.getSelection)
{ var selected_obj = document.getElementById(rteName).contentWindow.window.getSelection().focusNode;}
else if (document.getSelection)
{ var selected_obj = document.getElementById(rteName).contentWindow.document.getSelection().focusNode;}
else if (document.selection)
{ var selected_obj = document.getElementById(rteName).contentWindow.document.selection.createRange().parentElement();}
current_tag = selected_obj; while(current_tag.tagName != "TABLE"){ if (current_tag.tagName == "TR") { cellTotal = current_tag.cells.length; RowIndex = current_tag.rowIndex;}
if (current_tag.parentNode.tagName == "TBODY") { var x=current_tag.parentNode.insertRow(RowIndex+1); for (i=0; i < cellTotal; i++)
{ var j=x.insertCell(i); j.innerHTML=" ";}
}
current_tag = current_tag.parentNode;}
}; function rteBtnInsertTableColumnBefore() { if (window.getSelection)
{ var selected_obj = document.getElementById(rteName).contentWindow.window.getSelection().focusNode;}
else if (document.getSelection)
{ var selected_obj = document.getElementById(rteName).contentWindow.document.getSelection().focusNode;}
else if (document.selection)
{ var selected_obj = document.getElementById(rteName).contentWindow.document.selection.createRange().parentElement();}
current_tag = selected_obj; while(current_tag.tagName != "TABLE"){ if (current_tag.tagName == "TD") { cellIndex = current_tag.cellIndex;}
if (current_tag.tagName == "TBODY") { RowTotal = current_tag.parentNode.rows.length; var x=current_tag.parentNode; for (i=0; i < RowTotal; i++)
{ var j=x.rows[i].insertCell(cellIndex); j.innerHTML=" ";}
}
current_tag = current_tag.parentNode;}
}; function rteBtnInsertTableColumnAfter() { if (window.getSelection)
{ var selected_obj = document.getElementById(rteName).contentWindow.window.getSelection().focusNode;}
else if (document.getSelection)
{ var selected_obj = document.getElementById(rteName).contentWindow.document.getSelection().focusNode;}
else if (document.selection)
{ var selected_obj = document.getElementById(rteName).contentWindow.document.selection.createRange().parentElement();}
current_tag = selected_obj; while(current_tag.tagName != "TABLE"){ if (current_tag.tagName == "TD") { cellIndex = current_tag.cellIndex;}
if (current_tag.tagName == "TBODY") { RowTotal = current_tag.parentNode.rows.length; var x=current_tag.parentNode; for (i=0; i < RowTotal; i++)
{ var j=x.rows[i].insertCell(cellIndex+1); j.innerHTML=" ";}
}
current_tag = current_tag.parentNode;}
}; function rteBtnDeleteTableColumn() { if (window.getSelection)
{ var selected_obj = document.getElementById(rteName).contentWindow.window.getSelection().focusNode;}
else if (document.getSelection)
{ var selected_obj = document.getElementById(rteName).contentWindow.document.getSelection().focusNode;}
else if (document.selection)
{ var selected_obj = document.getElementById(rteName).contentWindow.document.selection.createRange().parentElement();}
current_tag = selected_obj; while(current_tag.tagName != "TABLE"){ if (current_tag.tagName == "TD") { cellIndex = current_tag.cellIndex;}
if (current_tag.tagName == "TBODY") { RowTotal = current_tag.parentNode.rows.length; var x=current_tag.parentNode; for(i=0; i < RowTotal; i++ ) { j=x.rows[i].deleteCell(cellIndex);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -