📄 fckeditorcode_ie_1.js
字号:
var FCKTools=new Object();
FCKTools.GetLinkedFieldValue=function()
{
return FCK.LinkedField.value;
};
FCKTools.AttachToLinkedFieldFormSubmit=function(A)
{
var B=FCK.LinkedField.form;
if (!B) return;
if (FCKBrowserInfo.IsIE) B.attachEvent("onsubmit",A);
else B.addEventListener('submit',A,true);
if (!B.updateFCKeditor) B.updateFCKeditor=new Array();
B.updateFCKeditor[B.updateFCKeditor.length]=A;
if (!B.originalSubmit&&(typeof(B.submit)=='function'||(!B.submit.tagName&&!B.submit.length)))
{
B.originalSubmit=B.submit;
B.submit=FCKTools_SubmitReplacer;
};
};
function FCKTools_SubmitReplacer()
{
if (this.updateFCKeditor)
{
for (var i=0;i<this.updateFCKeditor.length;i++) this.updateFCKeditor[i]();
};
this.originalSubmit();
};
FCKTools.ConvertStyleSizeToHtml=function(A)
{
return A.endsWith('%')?A:parseInt(A);
};
FCKTools.ConvertHtmlSizeToStyle=function(A)
{
return A.endsWith('%')?A:(A+'px');
};
FCKTools._FixDocumentParentWindow=function(A)
{
A.document.parentWindow=A;
for (var i=0;i<A.frames.length;i++) FCKTools._FixDocumentParentWindow(A.frames[i]);
};
FCKTools.CancelEvent=function(e)
{
return false;
};
FCKTools.AppendStyleSheet=function(A,B)
{
return A.createStyleSheet(B);
};
FCKTools.CreateXmlObject=function(A)
{
var B;
switch (A)
{
case 'XmlHttp':B=['MSXML2.XmlHttp','Microsoft.XmlHttp'];
break;
case 'DOMDocument':B=['MSXML2.DOMDocument','Microsoft.XmlDom'];
break;
};
for (var i=0;i<2;i++)
{
try
{
return new ActiveXObject(B[i]);
}
catch (e)
{
};
};
if (FCKLang.NoActiveX)
{
alert(FCKLang.NoActiveX);
FCKLang.NoActiveX=null;
};
};
FCKTools.DisableSelection=function(A)
{
A.unselectable='on';
var e,i=0;
while (e=A.all[i++])
{
switch (e.tagName)
{
case 'IFRAME':case 'TEXTAREA':case 'INPUT':case 'SELECT':/* Ignore the above tags */ break;
default:e.unselectable='on';
};
};
};
var FCKRegexLib=new Object();
FCKRegexLib.AposEntity=/'/gi;
FCKRegexLib.ObjectElements=/^(?:IMG|TABLE|TR|TD|TH|INPUT|SELECT|TEXTAREA|HR|OBJECT|A|UL|OL|LI)$/i;
FCKRegexLib.BlockElements=/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD|TH)$/i;
FCKRegexLib.EmptyElements=/^(?:BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT)$/i;
FCKRegexLib.NamedCommands=/^(?:Unlink|Bold|Italic|Underline|JustifyLeft|JustifyCenter|JustifyRight|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i;
FCKRegexLib.BodyContents=/([\s\S]*\<body[^\>]*\>)([\s\S]*)(\<\/body\>[\s\S]*)/i;
FCKRegexLib.ToReplace=/___fcktoreplace:([\w]+)/ig;
FCKRegexLib.MetaHttpEquiv=/http-equiv\s*=\s*["']?([^"' ]+)/i;FCKRegexLib.HasBaseTag=/<base /i;FCKRegexLib.HeadOpener=/<head\s?[^>]*>/i;FCKRegexLib.HeadCloser=/<\/head\s*>/i;FCKRegexLib.TableBorderClass=/\s*FCK__ShowTableBorders\s*/;FCKRegexLib.ElementName=/^[A-Za-z_:][\w.\-:]*$/;FCKRegexLib.ForceSimpleAmpersand=/___FCKAmp___/g;FCKRegexLib.SpaceNoClose=/\/>/g;FCKRegexLib.EmptyParagraph=/^<(p|div)>\s*<\/\1>$/i;FCKRegexLib.TagBody=/></;FCKRegexLib.StrongOpener=/<STRONG([ \>])/gi;FCKRegexLib.StrongCloser=/<\/STRONG>/gi;FCKRegexLib.EmOpener=/<EM([ \>])/gi;FCKRegexLib.EmCloser=/<\/EM>/gi;FCKRegexLib.GeckoEntitiesMarker=/#\?-\:/g;FCKRegexLib.ProtectUrlsAApo=/(<a\s.*?href=)("|')(.+?)\2/gi;
FCKRegexLib.ProtectUrlsANoApo=/(<a\s.*?href=)([^"'][^ >]+)/gi;FCKRegexLib.ProtectUrlsImgApo=/(<img\s.*?src=)("|')(.+?)\2/gi;FCKRegexLib.ProtectUrlsImgNoApo=/(<img\s.*?src=)([^"'][^ >]+)/gi;
FCKLanguageManager.GetActiveLanguage=function()
{
if (FCKConfig.AutoDetectLanguage)
{
var A;
if (navigator.userLanguage) A=navigator.userLanguage.toLowerCase();
else if (navigator.language) A=navigator.language.toLowerCase();
else
{
return FCKConfig.DefaultLanguage;
};
if (A.length>=5)
{
A=A.substr(0,5);
if (this.AvailableLanguages[A]) return A;
};
if (A.length>=2)
{
A=A.substr(0,2);
if (this.AvailableLanguages[A]) return A;
};
};
return this.DefaultLanguage;
};
FCKLanguageManager.TranslateElements=function(A,B,C)
{
var e=A.getElementsByTagName(B);
for (var i=0;i<e.length;i++)
{
var D=e[i].getAttribute('fckLang');
if (D)
{
var s=FCKLang[D];
if (s) eval('e[i].'+C+' = s');
};
};
};
FCKLanguageManager.TranslatePage=function(A)
{
this.TranslateElements(A,'INPUT','value');
this.TranslateElements(A,'SPAN','innerHTML');
this.TranslateElements(A,'LABEL','innerHTML');
this.TranslateElements(A,'OPTION','innerHTML');
};
if (FCKLanguageManager.AvailableLanguages[FCKConfig.DefaultLanguage]) FCKLanguageManager.DefaultLanguage=FCKConfig.DefaultLanguage;
else FCKLanguageManager.DefaultLanguage='en';
FCKLanguageManager.ActiveLanguage=new Object();
FCKLanguageManager.ActiveLanguage.Code=FCKLanguageManager.GetActiveLanguage();
FCKLanguageManager.ActiveLanguage.Name=FCKLanguageManager.AvailableLanguages[FCKLanguageManager.ActiveLanguage.Code];
FCK.Language=FCKLanguageManager;
LoadLanguageFile();
var FCKEvents;
if (!(FCKEvents=NS.FCKEvents))
{
FCKEvents=NS.FCKEvents=function(A)
{
this.Owner=A;
this.RegisteredEvents=new Object();
};
FCKEvents.prototype.AttachEvent=function(A,B)
{
if (!this.RegisteredEvents[A]) this.RegisteredEvents[A]=new Array();
this.RegisteredEvents[A][this.RegisteredEvents[A].length]=B;
};
FCKEvents.prototype.FireEvent=function(A,B)
{
var C=true;
var D=this.RegisteredEvents[A];
if (D)
{
for (var i=0;i<D.length;i++) C=(D[i](this.Owner,B)&&C);
};
return C;
};
}
var FCKXHtmlEntities=new Object();
if (FCKConfig.ProcessHTMLEntities)
{
FCKXHtmlEntities.Entities=
{
' ':'nbsp','¡':'iexcl','¢':'cent','£':'pound','¤':'curren','¥':'yen','¦':'brvbar','§':'sect','¨':'uml','©':'copy','ª':'ordf','«':'laquo','¬':'not','':'shy','®':'reg','¯':'macr','°':'deg','±':'plusmn','²':'sup2','³':'sup3','´':'acute','µ':'micro','¶':'para','·':'middot','¸':'cedil','¹':'sup1','º':'ordm','»':'raquo','¼':'frac14','½':'frac12','¾':'frac34','¿':'iquest','×':'times','÷':'divide','ƒ':'fnof','•':'bull','…':'hellip','′':'prime','″':'Prime','‾':'oline','⁄':'frasl','℘':'weierp','ℑ':'image','ℜ':'real','™':'trade','ℵ':'alefsym','←':'larr','↑':'uarr','→':'rarr','↓':'darr','↔':'harr','↵':'crarr','⇐':'lArr','⇑':'uArr','⇒':'rArr','⇓':'dArr','⇔':'hArr','∀':'forall','∂':'part','∃':'exist','∅':'empty','∇':'nabla','∈':'isin','∉':'notin','∋':'ni','∏':'prod','∑':'sum','−':'minus','∗':'lowast','√':'radic','∝':'prop','∞':'infin','∠':'ang','∧':'and','∨':'or','∩':'cap','∪':'cup','∫':'int','∴':'there4','∼':'sim','≅':'cong','≈':'asymp','≠':'ne','≡':'equiv','≤':'le','≥':'ge','⊂':'sub','⊃':'sup','⊄':'nsub','⊆':'sube','⊇':'supe','⊕':'oplus','⊗':'otimes','⊥':'perp','⋅':'sdot','◊':'loz','♠':'spades','♣':'clubs','♥':'hearts','♦':'diams','"':'quot','ˆ':'circ','˜':'tilde',' ':'ensp',' ':'emsp',' ':'thinsp','':'zwnj','':'zwj','':'lrm','':'rlm','–':'ndash','—':'mdash','‘':'lsquo','’':'rsquo','‚':'sbquo','“':'ldquo','”':'rdquo','„':'bdquo','†':'dagger','‡':'Dagger','‰':'permil','‹':'lsaquo','›':'rsaquo','€':'euro'
};
FCKXHtmlEntities.Chars='';
for (var e in FCKXHtmlEntities.Entities) FCKXHtmlEntities.Chars+=e;if (FCKConfig.IncludeLatinEntities)
{
var oEntities=
{
'À':'Agrave','Á':'Aacute','Â':'Acirc','Ã':'Atilde','Ä':'Auml','Å':'Aring','Æ':'AElig','Ç':'Ccedil','È':'Egrave','É':'Eacute','Ê':'Ecirc','Ë':'Euml','Ì':'Igrave','Í':'Iacute','Î':'Icirc','Ï':'Iuml','Ð':'ETH','Ñ':'Ntilde','Ò':'Ograve','Ó':'Oacute','Ô':'Ocirc','Õ':'Otilde','Ö':'Ouml','Ø':'Oslash','Ù':'Ugrave','Ú':'Uacute','Û':'Ucirc','Ü':'Uuml','Ý':'Yacute','Þ':'THORN','ß':'szlig','à':'agrave','á':'aacute','â':'acirc','ã':'atilde','ä':'auml','å':'aring','æ':'aelig','ç':'ccedil','è':'egrave','é':'eacute','ê':'ecirc','ë':'euml','ì':'igrave','í':'iacute','î':'icirc','ï':'iuml','ð':'eth','ñ':'ntilde','ò':'ograve','ó':'oacute','ô':'ocirc','õ':'otilde','ö':'ouml','ø':'oslash','ù':'ugrave','ú':'uacute','û':'ucirc','ü':'uuml','ý':'yacute','þ':'thorn','ÿ':'yuml','Œ':'OElig','œ':'oelig','Š':'Scaron','š':'scaron','Ÿ':'Yuml'
};
for (var e in oEntities)
{
FCKXHtmlEntities.Entities[e]=oEntities[e];
FCKXHtmlEntities.Chars+=e;
};
oEntities=null;
};
if (FCKConfig.IncludeGreekEntities)
{
var oEntities=
{
'Α':'Alpha','Β':'Beta','Γ':'Gamma','Δ':'Delta','Ε':'Epsilon','Ζ':'Zeta','Η':'Eta','Θ':'Theta','Ι':'Iota','Κ':'Kappa','Λ':'Lambda','Μ':'Mu','Ν':'Nu','Ξ':'Xi','Ο':'Omicron','Π':'Pi','Ρ':'Rho','Σ':'Sigma','Τ':'Tau','Υ':'Upsilon','Φ':'Phi','Χ':'Chi','Ψ':'Psi','Ω':'Omega','α':'alpha','β':'beta','γ':'gamma','δ':'delta','ε':'epsilon','ζ':'zeta','η':'eta','θ':'theta','ι':'iota','κ':'kappa','λ':'lambda','μ':'mu','ν':'nu','ξ':'xi','ο':'omicron','π':'pi','ρ':'rho','ς':'sigmaf','σ':'sigma','τ':'tau','υ':'upsilon','φ':'phi','χ':'chi','ψ':'psi','ω':'omega'
};
for (var e in oEntities)
{
FCKXHtmlEntities.Entities[e]=oEntities[e];
FCKXHtmlEntities.Chars+=e;
};
oEntities=null;
};
FCKXHtmlEntities.EntitiesRegex=new RegExp('['+FCKXHtmlEntities.Chars+']|[^'+FCKXHtmlEntities.Chars+']+','g');
}
else
{
FCKXHtmlEntities.Entities=
{
' ':'nbsp'
};
FCKXHtmlEntities.EntitiesRegex=/[ ]|[^ ]+/g;
}
var FCKXHtml=new Object();
FCKXHtml.CurrentJobNum=0;
FCKXHtml.GetXHTML=function(A,B,C)
{
FCKXHtml.SpecialBlocks=new Array();
this.XML=FCKTools.CreateXmlObject('DOMDocument');
this.MainNode=this.XML.appendChild(this.XML.createElement('xhtml'));
FCKXHtml.CurrentJobNum++;
if (B) this._AppendNode(this.MainNode,A);
else this._AppendChildNodes(this.MainNode,A,false);
var D=this._GetMainXmlString();
D=D.substr(7,D.length-15).trim();
if (FCKBrowserInfo.IsGecko) D=D.replace(/<br\/>$/,'');
D=D.replace(FCKRegexLib.SpaceNoClose,' />');
if (FCKConfig.ForceSimpleAmpersand) D=D.replace(FCKRegexLib.ForceSimpleAmpersand,'&');
if (C) D=FCKCodeFormatter.Format(D);
for (var i=0;i<FCKXHtml.SpecialBlocks.length;i++)
{
var E=new RegExp('___FCKsi___'+i);
D=D.replace(E,FCKXHtml.SpecialBlocks[i]);
};
this.XML=null;
return D
};
FCKXHtml._AppendAttribute=function(A,B,C)
{
try
{
var D=this.XML.createAttribute(B);
D.value=C?C:'';
A.attributes.setNamedItem(D);
}
catch (e)
{
};
};
FCKXHtml._AppendChildNodes=function(A,B,C)
{
var D=0;
var E=B.firstChild;
while (E)
{
if (this._AppendNode(A,E)) D++;
E=E.nextSibling;
};
if (D==0)
{
if (C&&FCKConfig.FillEmptyBlocks)
{
this._AppendEntity(A,'nbsp');
return;
};
if (!FCKRegexLib.EmptyElements.test(B.nodeName)) A.appendChild(this.XML.createTextNode(''));
};
};
FCKXHtml._AppendNode=function(A,B)
{
if (!B) return;
switch (B.nodeType)
{
case 1:if (B.getAttribute('_fckfakelement')) return FCKXHtml._AppendNode(A,FCK.GetRealElement(B));
if (FCKBrowserInfo.IsGecko&&B.hasAttribute('_moz_editor_bogus_node')) return false;
if (B.getAttribute('_fckdelete')) return false;
var C=B.nodeName;
if (FCKBrowserInfo.IsIE&&B.scopeName&&B.scopeName!='HTML') C=B.scopeName+':'+C;
if (!FCKRegexLib.ElementName.test(C)) return false;
C=C.toLowerCase();
if (FCKBrowserInfo.IsGecko&&C=='br'&&B.hasAttribute('type')&&B.getAttribute('type',2)=='_moz') return false;
if (B._fckxhtmljob&&B._fckxhtmljob==FCKXHtml.CurrentJobNum) return false;
var D=this._CreateNode(C);
FCKXHtml._AppendAttributes(A,B,D,C);
B._fckxhtmljob=FCKXHtml.CurrentJobNum;
var E=FCKXHtml.TagProcessors[C];
if (E)
{
D=E(D,B);
if (!D) break;
}
else this._AppendChildNodes(D,B,FCKRegexLib.BlockElements.test(C));
A.appendChild(D);
break;
case 3:this._AppendTextNode(A,B.nodeValue.replaceNewLineChars(' '));
break;
case 8:try
{
A.appendChild(this.XML.createComment(B.nodeValue));
}
catch (e)
{
};
break;
default:A.appendChild(this.XML.createComment("Element not supported - Type: "+B.nodeType+" Name: "+B.nodeName));
break;
};
return true;
};
if (FCKConfig.ForceStrongEm)
{
FCKXHtml._CreateNode=function(A)
{
switch (A)
{
case 'b':A='strong';
break;
case 'i':A='em';
break;
};
return this.XML.createElement(A);
};
}
else
{
FCKXHtml._CreateNode=function(A)
{
return this.XML.createElement(A);
};
};
FCKXHtml._AppendSpecialItem=function(A)
{
return '___FCKsi___'+FCKXHtml.SpecialBlocks.addItem(A);
};
FCKXHtml._AppendTextNode=function(A,B)
{
var C=B.match(FCKXHtmlEntities.EntitiesRegex);
if (C)
{
for (var i=0;i<C.length;i++)
{
if (C[i].length==1)
{
var D=FCKXHtmlEntities.Entities[C[i]];
if (D!=null)
{
this._AppendEntity(A,D);
continue;
};
};
A.appendChild(this.XML.createTextNode(C[i]));
};
};
};
FCKXHtml.TagProcessors=new Object();
FCKXHtml.TagProcessors['img']=function(A,B)
{
if (!A.attributes.getNamedItem('alt')) FCKXHtml._AppendAttribute(A,'alt','');
var C=B.getAttribute('_fcksavedurl');
if (C&&C.length>0) FCKXHtml._AppendAttribute(A,'src',C);
return A;
};
FCKXHtml.TagProcessors['a']=function(A,B)
{
var C=B.getAttribute('_fcksavedurl');
if (C&&C.length>0) FCKXHtml._AppendAttribute(A,'href',C);
FCKXHtml._AppendChildNodes(A,B,false);
return A;
};
FCKXHtml.TagProcessors['script']=function(A,B)
{
if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/javascript');
A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.text)));
return A;
};
FCKXHtml.TagProcessors['style']=function(A,B)
{
if (B.getAttribute('_fcktemp')) return null;
if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/css');
A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.innerHTML)));
return A;
};
FCKXHtml.TagProcessors['title']=function(A,B)
{
A.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));
return A;
};
FCKXHtml.TagProcessors['base']=function(A,B)
{
if (B.getAttribute('_fcktemp')) return null;
return A;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -