📄 overview-summary-tinymce_engine.class.js.html
字号:
<span class="reserved">this</span>.documentURL = <span class="reserved">this</span>.documentBasePath;
<span class="reserved">this</span>.documentBasePath = <span class="reserved">this</span>.documentBasePath.substring(0, <span class="reserved">this</span>.documentBasePath.lastIndexOf(<span class="literal">'/'</span>));
<span class="comment">// If not HTTP absolute</span>
<span class="reserved">if</span> (tinyMCE.baseURL.indexOf(<span class="literal">'://'</span>) == -1 && tinyMCE.baseURL.charAt(0) != <span class="literal">'/'</span>) {
<span class="comment">// If site absolute</span>
tinyMCE.baseURL = <span class="reserved">this</span>.documentBasePath + <span class="literal">"/"</span> + tinyMCE.baseURL;
}
<span class="comment">// Set default values on settings</span>
<span class="reserved">this</span>._def(<span class="literal">"mode"</span>, <span class="literal">"none"</span>);
<span class="reserved">this</span>._def(<span class="literal">"theme"</span>, <span class="literal">"advanced"</span>);
<span class="reserved">this</span>._def(<span class="literal">"plugins"</span>, <span class="literal">""</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"language"</span>, <span class="literal">"en"</span>);
<span class="reserved">this</span>._def(<span class="literal">"docs_language"</span>, <span class="reserved">this</span>.settings[<span class="literal">'language'</span>]);
<span class="reserved">this</span>._def(<span class="literal">"elements"</span>, <span class="literal">""</span>);
<span class="reserved">this</span>._def(<span class="literal">"textarea_trigger"</span>, <span class="literal">"mce_editable"</span>);
<span class="reserved">this</span>._def(<span class="literal">"editor_selector"</span>, <span class="literal">""</span>);
<span class="reserved">this</span>._def(<span class="literal">"editor_deselector"</span>, <span class="literal">"mceNoEditor"</span>);
<span class="reserved">this</span>._def(<span class="literal">"valid_elements"</span>, <span class="literal">"+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],+p[style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border=0|alt|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],-td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[style|dir|class|align],-h2[style|dir|class|align],-h3[style|dir|class|align],-h4[style|dir|class|align],-h5[style|dir|class|align],-h6[style|dir|class|align],hr[class|style],-font[face|size|style|id|class|dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang]"</span>);
<span class="reserved">this</span>._def(<span class="literal">"extended_valid_elements"</span>, <span class="literal">""</span>);
<span class="reserved">this</span>._def(<span class="literal">"invalid_elements"</span>, <span class="literal">""</span>);
<span class="reserved">this</span>._def(<span class="literal">"encoding"</span>, <span class="literal">""</span>);
<span class="reserved">this</span>._def(<span class="literal">"urlconverter_callback"</span>, tinyMCE.getParam(<span class="literal">"urlconvertor_callback"</span>, <span class="literal">"TinyMCE_Engine.prototype.convertURL"</span>));
<span class="reserved">this</span>._def(<span class="literal">"save_callback"</span>, <span class="literal">""</span>);
<span class="reserved">this</span>._def(<span class="literal">"debug"</span>, false);
<span class="reserved">this</span>._def(<span class="literal">"force_br_newlines"</span>, false);
<span class="reserved">this</span>._def(<span class="literal">"force_p_newlines"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"add_form_submit_trigger"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"relative_urls"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"remove_script_host"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"focus_alert"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"document_base_url"</span>, <span class="reserved">this</span>.documentURL);
<span class="reserved">this</span>._def(<span class="literal">"visual"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"visual_table_class"</span>, <span class="literal">"mceVisualAid"</span>);
<span class="reserved">this</span>._def(<span class="literal">"setupcontent_callback"</span>, <span class="literal">""</span>);
<span class="reserved">this</span>._def(<span class="literal">"fix_content_duplication"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"custom_undo_redo"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"custom_undo_redo_levels"</span>, -1);
<span class="reserved">this</span>._def(<span class="literal">"custom_undo_redo_keyboard_shortcuts"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"custom_undo_redo_restore_selection"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"verify_html"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"apply_source_formatting"</span>, false);
<span class="reserved">this</span>._def(<span class="literal">"directionality"</span>, <span class="literal">"ltr"</span>);
<span class="reserved">this</span>._def(<span class="literal">"cleanup_on_startup"</span>, false);
<span class="reserved">this</span>._def(<span class="literal">"inline_styles"</span>, false);
<span class="reserved">this</span>._def(<span class="literal">"convert_newlines_to_brs"</span>, false);
<span class="reserved">this</span>._def(<span class="literal">"auto_reset_designmode"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"entities"</span>, <span class="literal">"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,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,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,34,quot,38,amp,60,lt,62,gt,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"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"entity_encoding"</span>, <span class="literal">"named"</span>);
<span class="reserved">this</span>._def(<span class="literal">"cleanup_callback"</span>, <span class="literal">""</span>);
<span class="reserved">this</span>._def(<span class="literal">"add_unload_trigger"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"ask"</span>, false);
<span class="reserved">this</span>._def(<span class="literal">"nowrap"</span>, false);
<span class="reserved">this</span>._def(<span class="literal">"auto_resize"</span>, false);
<span class="reserved">this</span>._def(<span class="literal">"auto_focus"</span>, false);
<span class="reserved">this</span>._def(<span class="literal">"cleanup"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"remove_linebreaks"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"button_tile_map"</span>, false);
<span class="reserved">this</span>._def(<span class="literal">"submit_patch"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"browsers"</span>, <span class="literal">"msie,safari,gecko,opera"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"dialog_type"</span>, <span class="literal">"window"</span>);
<span class="reserved">this</span>._def(<span class="literal">"accessibility_warnings"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"accessibility_focus"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"merge_styles_invalid_parents"</span>, <span class="literal">""</span>);
<span class="reserved">this</span>._def(<span class="literal">"force_hex_style_colors"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"trim_span_elements"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"convert_fonts_to_spans"</span>, false);
<span class="reserved">this</span>._def(<span class="literal">"doctype"</span>, <span class="literal">'<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">'</span>);
<span class="reserved">this</span>._def(<span class="literal">"font_size_classes"</span>, <span class="literal">''</span>);
<span class="reserved">this</span>._def(<span class="literal">"font_size_style_values"</span>, <span class="literal">'xx-small,x-small,small,medium,large,x-large,xx-large'</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"event_elements"</span>, <span class="literal">'a,img'</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"convert_urls"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"table_inline_editing"</span>, false);
<span class="reserved">this</span>._def(<span class="literal">"object_resizing"</span>, true);
<span class="reserved">this</span>._def(<span class="literal">"custom_shortcuts"</span>, true);
<span class="comment">// Browser check IE</span>
<span class="reserved">if</span> (<span class="reserved">this</span>.isMSIE && <span class="reserved">this</span>.settings[<span class="literal">'browsers'</span>].indexOf(<span class="literal">'msie'</span>) == -1)
<span class="reserved">return</span>;
<span class="comment">// Browser check Gecko</span>
<span class="reserved">if</span> (<span class="reserved">this</span>.isGecko && <span class="reserved">this</span>.settings[<span class="literal">'browsers'</span>].indexOf(<span class="literal">'gecko'</span>) == -1)
<span class="reserved">return</span>;
<span class="comment">// Browser check Safari</span>
<span class="reserved">if</span> (<span class="reserved">this</span>.isSafari && <span class="reserved">this</span>.settings[<span class="literal">'browsers'</span>].indexOf(<span class="literal">'safari'</span>) == -1)
<span class="reserved">return</span>;
<span class="comment">// Browser check Opera</span>
<span class="reserved">if</span> (<span class="reserved">this</span>.isOpera && <span class="reserved">this</span>.settings[<span class="literal">'browsers'</span>].indexOf(<span class="literal">'opera'</span>) == -1)
<span class="reserved">return</span>;
<span class="comment">// If not super absolute make it so</span>
var baseHREF = tinyMCE.settings[<span class="literal">'document_base_url'</span>];
var h = document.location.href;
var p = h.indexOf(<span class="literal">'://'</span>);
<span class="reserved">if</span> (p > 0 && document.location.protocol != <span class="literal">"file:"</span>) {
p = h.indexOf(<span class="literal">'/'</span>, p + 3);
h = h.substring(0, p);
<span class="reserved">if</span> (baseHREF.indexOf(<span class="literal">'://'</span>) == -1)
baseHREF = h + baseHREF;
tinyMCE.settings[<span class="literal">'document_base_url'</span>] = baseHREF;
tinyMCE.settings[<span class="literal">'document_base_prefix'</span>] = h;
}
<span class="comment">// Trim away query part</span>
<span class="reserved">if</span> (baseHREF.indexOf(<span class="literal">'?'</span>) != -1)
baseHREF = baseHREF.substring(0, baseHREF.indexOf(<span class="literal">'?'</span>));
<span class="reserved">this</span>.settings[<span class="literal">'base_href'</span>] = baseHREF.substring(0, baseHREF.lastIndexOf(<span class="literal">'/'</span>)) + <span class="literal">"/"</span>;
theme = <span class="reserved">this</span>.settings[<span class="literal">'theme'</span>];
<span class="reserved">this</span>.blockRegExp = new RegExp(<span class="literal">"^(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|blockquote|center|dl|dir|fieldset|form|noscript|noframes|menu|isindex)$"</span>, <span class="literal">"i"</span>);
<span class="reserved">this</span>.posKeyCodes = new Array(13,45,36,35,33,34,37,38,39,40);
<span class="reserved">this</span>.uniqueURL = <span class="literal">'http://tinymce.moxiecode.cp/mce_temp_url'</span>; <span class="comment">// Make unique URL non real URL</span>
<span class="reserved">this</span>.uniqueTag = <span class="literal">'<div id="mceTMPElement" style="display: none">TMP</div>'</span>;
<span class="reserved">this</span>.callbacks = new Array(<span class="literal">'onInit'</span>, <span class="literal">'getInfo'</span>, <span class="literal">'getEditorTemplate'</span>, <span class="literal">'setupContent'</span>, <span class="literal">'onChange'</span>, <span class="literal">'onPageLoad'</span>, <span class="literal">'handleNodeChange'</span>, <span class="literal">'initInstance'</span>, <span class="literal">'execCommand'</span>, <span class="literal">'getControlHTML'</span>, <span class="literal">'handleEvent'</span>, <span class="literal">'cleanup'</span>);
<span class="comment">// Theme url</span>
<span class="reserved">this</span>.settings[<span class="literal">'theme_href'</span>] = tinyMCE.baseURL + <span class="literal">"/themes/"</span> + theme;
<span class="reserved">if</span> (!tinyMCE.isMSIE)
<span class="reserved">this</span>.settings[<span class="literal">'force_br_newlines'</span>] = false;
<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"content_css"</span>, false)) {
var cssPath = tinyMCE.getParam(<span class="literal">"content_css"</span>, <span class="literal">""</span>);
<span class="comment">// Is relative</span>
<span class="reserved">if</span> (cssPath.indexOf(<span class="literal">'://'</span>) == -1 && cssPath.charAt(0) != <span class="literal">'/'</span>)
<span class="reserved">this</span>.settings[<span class="literal">'content_css'</span>] = <span class="reserved">this</span>.documentBasePath + <span class="literal">"/"</span> + cssPath;
<span class="reserved">else</span>
<span class="reserved">this</span>.settings[<span class="literal">'content_css'</span>] = cssPath;
} <span class="reserved">else</span>
<span class="reserved">this</span>.settings[<span class="literal">'content_css'</span>] = <span class="literal">''</span>;
<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"popups_css"</span>, false)) {
var cssPath = tinyMCE.getParam(<span class="literal">"popups_css"</span>, <span class="literal">""</span>);
<span class="comment">// Is relative</span>
<span class="reserved">if</span> (cssPath.indexOf(<span class="literal">'://'</span>) == -1 && cssPath.charAt(0) != <span class="literal">'/'</span>)
<span class="reserved">this</span>.settings[<span class="literal">'popups_css'</span>] = <span class="reserved">this</span>.documentBasePath + <span class="literal">"/"</span> + cssPath;
<span class="reserved">else</span>
<span class="reserved">this</span>.settings[<span class="literal">'popups_css'</span>] = cssPath;
} <span class="reserved">else</span>
<span class="reserved">this</span>.settings[<span class="literal">'popups_css'</span>] = tinyMCE.baseURL + <span class="literal">"/themes/"</span> + theme + <span class="literal">"/css/editor_popup.css"</span>;
<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"editor_css"</span>, false)) {
var cssPath = tinyMCE.getParam(<span class="literal">"editor_css"</span>, <span class="literal">""</span>);
<span class="comment">// Is relative</span>
<span class="reserved">if</span> (cssPath.indexOf(<span class="literal">'://'</span>) == -1 && cssPath.charAt(0) != <span class="literal">'/'</span>)
<span class="reserved">this</span>.settings[<span class="literal">'editor_css'</span>] = <span class="reserved">this</span>.documentBasePath + <span class="literal">"/"</span> + cssPath;
<span class="reserved">else</span>
<span class="reserved">this</span>.settings[<span class="literal">'editor_css'</span>] = cssPath;
} <span class="reserved">else</span>
<span class="reserved">this</span>.settings[<span class="literal">'editor_css'</span>] = tinyMCE.baseURL + <span class="literal">"/themes/"</span> + theme + <span class="literal">"/css/editor_ui.css"</span>;
<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'debug'</span>]) {
var msg = <span class="literal">"Debug: \n"</span>;
msg += <span class="literal">"baseURL: "</span> + <span class="reserved">this</span>.baseURL + <span class="literal">"\n"</span>;
msg += <span class="literal">"documentBasePath: "</span> + <span class="reserved">this</span>.documentBasePath + <span class="literal">"\n"</span>;
msg += <span class="literal">"content_css: "</span> + <span class="reserved">this</span>.settings[<span class="literal">'content_css'</span>] + <span class="literal">"\n"</span>;
msg += <span class="literal">"popups_css: "</span> + <span class="reserved">this</span>.settings[<span class="literal">'popups_css'</span>] + <span class="literal">"\n"</span>;
msg += <span class="literal">"editor_css: "</span> + <span class="reserved">this</span>.settings[<span class="literal">'editor_css'</span>] + <span class="literal">"\n"</span>;
alert(msg);
}
<span class="comment">// Only do this once</span>
<span class="reserved">if</span> (<span class="reserved">this</span>.configs.length == 0) {
<span class="comment">// Is Safari enabled</span>
<span class="reserved">if</span> (<span class="reserved">this</span>.isSafari && <span class="reserved">this</span>.getParam(<span class="literal">'safari_warning'</span>, false))
alert(<span class="literal">"Safari support is very limited and should be considered experimental.\nSo there is no need to even submit bugreports on this early version.\nYou can disable this message by setting: safari_warning option to false"</span>);
<span class="reserved">if</span> (typeof(TinyMCECompressed) == <span class="literal">"undefined"</span>) {
tinyMCE.addEvent(window, <span class="literal">"DOMContentLoaded"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>.onLoad);
<span class="reserved">if</span> (tinyMCE.isMSIE && !tinyMCE.isOpera) {
<span class="reserved">if</span> (document.body)
tinyMCE.addEvent(document.body, <span class="literal">"readystatechange"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>.onLoad);
<span class="reserved">else</span>
tinyMCE.addEvent(document, <span class="literal">"readystatechange"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>.onLoad);
}
tinyMCE.addEvent(window, <span class="literal">"load"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>.onLoad);
tinyMCE._addUnloadEvents();
}
}
<span class="reserved">this</span>.loadScript(tinyMCE.baseURL + <span class="literal">'/themes/'</span> + <span class="reserved">this</span>.settings[<span class="literal">'theme'</span>] + <span class="literal">'/editor_template'</span> + tinyMCE.srcMode + <span class="literal">'.js'</span>);
<span class="reserved">this</span>.loadScript(tinyMCE.baseURL + <span class="literal">'/langs/'</span> + <span class="reserved">this</span>.settings[<span class="literal">'language'</span>] + <span class="literal">'.js'</span>);
<span class="reserved">this</span>.loadCSS(<span class="reserved">this</span>.settings[<span class="literal">'editor_css'</span>]);
<span class="comment">// Add plugins</span>
var p = tinyMCE.getParam(<span class="literal">'plugins'</span>, <span class="literal">''</span>, true, <span class="literal">','</span>);
<span class="reserved">if</span> (p.length > 0) {
<span class="reserved">for</span> (var i=0; i<p.length; i++) {
<span class="reserved">if</span> (p[i].charAt(0) != <span class="literal">'-'</span>)
<span class="reserved">this</span>.loadScript(tinyMCE.baseURL + <span class="literal">'/plugins/'</span> + p[i] + <span class="literal">'/editor_plugin'</span> + tinyMCE.srcMode + <span class="literal">'.js'</span>);
}
}
<span class="comment">// Setup entities</span>
settings[<span class="literal">'cleanup_entities'</span>] = new Array();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -