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

📄 overview-summary-tinymce_engine.class.js.html

📁 tinyMCE在线编辑器使用手册
💻 HTML
📖 第 1 页 / 共 5 页
字号:
			case <span class="literal">"mceAddControl"</span>:
			case <span class="literal">"mceAddEditor"</span>:
				tinyMCE.addMCEControl(tinyMCE._getElementById(value), value);
				<span class="reserved">return</span>;

			case <span class="literal">"mceAddFrameControl"</span>:
				tinyMCE.addMCEControl(tinyMCE._getElementById(value), value[<span class="literal">'element'</span>], value[<span class="literal">'document'</span>]);
				<span class="reserved">return</span>;

			case <span class="literal">"mceRemoveControl"</span>:
			case <span class="literal">"mceRemoveEditor"</span>:
				tinyMCE.removeMCEControl(value);
				<span class="reserved">return</span>;

			case <span class="literal">"mceResetDesignMode"</span>:
				<span class="comment">// Resets the designmode state of the editors in Gecko</span>
				<span class="reserved">if</span> (!tinyMCE.isMSIE) {
					<span class="reserved">for</span> (var n in tinyMCE.instances) {
						<span class="reserved">if</span> (!tinyMCE.isInstance(tinyMCE.instances[n]))
							continue;

						try {
							tinyMCE.instances[n].getDoc().designMode = <span class="literal">"on"</span>;
						} catch (e) {
							<span class="comment">// Ignore any errors</span>
						}
					}
				}

				<span class="reserved">return</span>;
		}

		<span class="reserved">if</span> (<span class="reserved">this</span>.selectedInstance) {
			<span class="reserved">this</span>.selectedInstance.execCommand(command, user_interface, value);
		} <span class="reserved">else</span> <span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'focus_alert'</span>])
			alert(tinyMCELang[<span class="literal">'lang_focus_alert'</span>]);
	},

	<span class="comment">/**
	 * Creates a iframe editor container for the specified element.
	 *
	 * <span class="attrib">@param</span> {HTMLElement} replace_element Element to replace with iframe element.
	 * <span class="attrib">@private</span>
	 */</span>
	_createIFrame : <span class="reserved">function</span>(replace_element) {
		var iframe = document.createElement(<span class="literal">"iframe"</span>);
		var id = replace_element.getAttribute(<span class="literal">"id"</span>);
		var aw, ah;

		aw = <span class="literal">""</span> + tinyMCE.settings[<span class="literal">'area_width'</span>];
		ah = <span class="literal">""</span> + tinyMCE.settings[<span class="literal">'area_height'</span>];

		<span class="reserved">if</span> (aw.indexOf(<span class="literal">'%'</span>) == -1) {
			aw = parseInt(aw);
			aw = aw &lt; 0 ? 300 : aw;
			aw = aw + <span class="literal">"px"</span>;
		}

		<span class="reserved">if</span> (ah.indexOf(<span class="literal">'%'</span>) == -1) {
			ah = parseInt(ah);
			ah = ah &lt; 0 ? 240 : ah;
			ah = ah + <span class="literal">"px"</span>;
		}

		iframe.setAttribute(<span class="literal">"id"</span>, id);
		<span class="comment">//iframe.setAttribute("className", "mceEditorArea");</span>
		iframe.setAttribute(<span class="literal">"border"</span>, <span class="literal">"0"</span>);
		iframe.setAttribute(<span class="literal">"frameBorder"</span>, <span class="literal">"0"</span>);
		iframe.setAttribute(<span class="literal">"marginWidth"</span>, <span class="literal">"0"</span>);
		iframe.setAttribute(<span class="literal">"marginHeight"</span>, <span class="literal">"0"</span>);
		iframe.setAttribute(<span class="literal">"leftMargin"</span>, <span class="literal">"0"</span>);
		iframe.setAttribute(<span class="literal">"topMargin"</span>, <span class="literal">"0"</span>);
		iframe.setAttribute(<span class="literal">"width"</span>, aw);
		iframe.setAttribute(<span class="literal">"height"</span>, ah);
		iframe.setAttribute(<span class="literal">"allowtransparency"</span>, <span class="literal">"true"</span>);

		<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">"auto_resize"</span>])
			iframe.setAttribute(<span class="literal">"scrolling"</span>, <span class="literal">"no"</span>);

		<span class="comment">// Must have a src element in MSIE HTTPs breaks aswell as absoute URLs</span>
		<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera)
			iframe.setAttribute(<span class="literal">"src"</span>, <span class="reserved">this</span>.settings[<span class="literal">'default_document'</span>]);

		iframe.style.width = aw;
		iframe.style.height = ah;

		<span class="comment">// MSIE 5.0 issue</span>
		<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera)
			replace_element.outerHTML = iframe.outerHTML;
		<span class="reserved">else</span>
			replace_element.parentNode.replaceChild(iframe, replace_element);

		<span class="reserved">if</span> (tinyMCE.isMSIE)
			<span class="reserved">return</span> window.frames[id];
		<span class="reserved">else</span>
			<span class="reserved">return</span> iframe;
	},

	<span class="comment">/**
	 * Setups the contents of TinyMCE editor instance and fills it with contents.
	 *
	 * <span class="attrib">@param</span> {string} editor_id TinyMCE editor instance control id to fill.
	 */</span>
	setupContent : <span class="reserved">function</span>(editor_id) {
		var inst = tinyMCE.instances[editor_id];
		var doc = inst.getDoc();
		var head = doc.getElementsByTagName(<span class="literal">'head'</span>).item(0);
		var content = inst.startContent;

		inst.switchSettings();

		<span class="comment">// Not loaded correctly hit it again, Mozilla bug #997860</span>
		<span class="reserved">if</span> (!tinyMCE.isMSIE &amp;&amp; tinyMCE.getParam(<span class="literal">"setupcontent_reload"</span>, false) &amp;&amp; doc.title != <span class="literal">"blank_page"</span>) {
			<span class="comment">// This part will remove the designMode status</span>
			<span class="comment">// Failes first time in Firefox 1.5b2 on Mac</span>
			try {doc.location.href = tinyMCE.baseURL + <span class="literal">"/blank.htm"</span>;} catch (ex) {}
			window.setTimeout(<span class="literal">"tinyMCE.setupContent('"</span> + editor_id + <span class="literal">"');"</span>, 1000);
			<span class="reserved">return</span>;
		}

		<span class="reserved">if</span> (!head) {
			window.setTimeout(<span class="literal">"tinyMCE.setupContent('"</span> + editor_id + <span class="literal">"');"</span>, 10);
			<span class="reserved">return</span>;
		}

		<span class="comment">// Import theme specific content CSS the user specific</span>
		tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + <span class="literal">"/themes/"</span> + inst.settings[<span class="literal">'theme'</span>] + <span class="literal">"/css/editor_content.css"</span>);
		tinyMCE.importCSS(inst.getDoc(), inst.settings[<span class="literal">'content_css'</span>]);
		tinyMCE.dispatchCallback(inst, <span class="literal">'init_instance_callback'</span>, <span class="literal">'initInstance'</span>, inst);

		<span class="comment">// Setup keyboard shortcuts</span>
		<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">'custom_undo_redo_keyboard_shortcuts'</span>)) {
			inst.addShortcut(<span class="literal">'ctrl'</span>, <span class="literal">'z'</span>, <span class="literal">'lang_undo_desc'</span>, <span class="literal">'Undo'</span>);
			inst.addShortcut(<span class="literal">'ctrl'</span>, <span class="literal">'y'</span>, <span class="literal">'lang_redo_desc'</span>, <span class="literal">'Redo'</span>);
		}

		<span class="comment">// Add default shortcuts for gecko</span>
		<span class="reserved">if</span> (tinyMCE.isGecko) {
			inst.addShortcut(<span class="literal">'ctrl'</span>, <span class="literal">'b'</span>, <span class="literal">'lang_bold_desc'</span>, <span class="literal">'Bold'</span>);
			inst.addShortcut(<span class="literal">'ctrl'</span>, <span class="literal">'i'</span>, <span class="literal">'lang_italic_desc'</span>, <span class="literal">'Italic'</span>);
			inst.addShortcut(<span class="literal">'ctrl'</span>, <span class="literal">'u'</span>, <span class="literal">'lang_underline_desc'</span>, <span class="literal">'Underline'</span>);
		}

		<span class="comment">// Setup span styles</span>
		<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"convert_fonts_to_spans"</span>))
			inst.getDoc().body.setAttribute(<span class="literal">'id'</span>, <span class="literal">'mceSpanFonts'</span>);

		<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'nowrap'</span>])
			doc.body.style.whiteSpace = <span class="literal">"nowrap"</span>;

		doc.body.dir = <span class="reserved">this</span>.settings[<span class="literal">'directionality'</span>];
		doc.editorId = editor_id;

		<span class="comment">// Add on document element in Mozilla</span>
		<span class="reserved">if</span> (!tinyMCE.isMSIE)
			doc.documentElement.editorId = editor_id;

		inst.setBaseHREF(tinyMCE.settings[<span class="literal">'base_href'</span>]);

		<span class="comment">// Replace new line characters to BRs</span>
		<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'convert_newlines_to_brs'</span>]) {
			content = tinyMCE.regexpReplace(content, <span class="literal">"\r\n"</span>, <span class="literal">"&lt;br /&gt;"</span>, <span class="literal">"gi"</span>);
			content = tinyMCE.regexpReplace(content, <span class="literal">"\r"</span>, <span class="literal">"&lt;br /&gt;"</span>, <span class="literal">"gi"</span>);
			content = tinyMCE.regexpReplace(content, <span class="literal">"\n"</span>, <span class="literal">"&lt;br /&gt;"</span>, <span class="literal">"gi"</span>);
		}

		<span class="comment">// Open closed anchors</span>
	<span class="comment">//	content = content.replace(new RegExp('&lt;a(.*?)/&gt;', 'gi'), '&lt;a$1&gt;&lt;/a&gt;');</span>

		<span class="comment">// Call custom cleanup code</span>
		content = tinyMCE.storeAwayURLs(content);
		content = tinyMCE._customCleanup(inst, <span class="literal">"insert_to_editor"</span>, content);

		<span class="reserved">if</span> (tinyMCE.isMSIE) {
			<span class="comment">// Ugly!!!</span>
			window.setInterval(<span class="literal">'try{tinyMCE.getCSSClasses(document.frames["'</span> + editor_id + <span class="literal">'"].document, "'</span> + editor_id + <span class="literal">'");}catch(e){}'</span>, 500);

			<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">"force_br_newlines"</span>])
				document.frames[editor_id].document.styleSheets[0].addRule(<span class="literal">"p"</span>, <span class="literal">"margin: 0;"</span>);

			var body = document.frames[editor_id].document.body;

			body.editorId = editor_id;
		}

		content = tinyMCE.cleanupHTMLCode(content);

		<span class="comment">// Fix for bug #958637</span>
		<span class="reserved">if</span> (!tinyMCE.isMSIE) {
			var contentElement = inst.getDoc().createElement(<span class="literal">"body"</span>);
			var doc = inst.getDoc();

			contentElement.innerHTML = content;

			<span class="comment">// Remove weridness!</span>
			<span class="reserved">if</span> (tinyMCE.isGecko &amp;&amp; tinyMCE.settings[<span class="literal">'remove_lt_gt'</span>])
				content = content.replace(new RegExp(<span class="literal">'&amp;lt;&amp;gt;'</span>, <span class="literal">'g'</span>), <span class="literal">""</span>);

			<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'cleanup_on_startup'</span>])
				tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, doc, <span class="reserved">this</span>.settings, contentElement));
			<span class="reserved">else</span> {
				<span class="comment">// Convert all strong/em to b/i</span>
				content = tinyMCE.regexpReplace(content, <span class="literal">"&lt;strong"</span>, <span class="literal">"&lt;b"</span>, <span class="literal">"gi"</span>);
				content = tinyMCE.regexpReplace(content, <span class="literal">"&lt;em(/?)&gt;"</span>, <span class="literal">"&lt;i$1&gt;"</span>, <span class="literal">"gi"</span>);
				content = tinyMCE.regexpReplace(content, <span class="li

⌨️ 快捷键说明

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