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

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

📁 tinyMCE在线编辑器使用手册
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>
 Overview
</title>
<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script>
function asd() {
	
		parent.document.title="TinyMCE_Cleanup.class.js Overview";
	
}
</script>
</head>
<body bgcolor="white" onload="asd();">

<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
  <tr align="center" valign="top">
  
  
  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
  

  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
  </tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top">
<em>
<b></b></em>
</td>
</tr>

<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
  <!--
  if(window==top) {
    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
  }
  //-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->

<hr>
<center>
	
	   <h2>TinyMCE_Cleanup.class.js</h2>
	
</center>

	


<h4>Summary</h4>
<p>
	
		No overview generated for 'TinyMCE_Cleanup.class.js'<BR/><BR/>
	
</p>

<hr>


    <table border="1" cellpadding="3" cellspacing="0" width="100%">
    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
    <td colspan=2><font size="+2">
    
        <b>Class Summary</b>
    
    </font></td>
    </tr>
    
    <tr bgcolor="white" class="TableRowColor">
    <td width="15%"><b><a href="TinyMCE_Cleanup.html">TinyMCE_Cleanup</a></b></td>
    <td>&nbsp;</td>
    </tr>
    
    </table>
    <hr/> 


<!-- ========== METHOD SUMMARY =========== -->

<!-- ========== END METHOD SUMMARY =========== -->


        <pre class="sourceview"><span class="comment">/**
 * $RCSfile: overview-summary-TinyMCE_Cleanup.class.js.html,v $
 * $Revision: 1.13 $
 * $Date: 2006/02/13 15:28:43 $
 *
 * <span class="attrib">@author</span> Moxiecode
 * <span class="attrib">@copyright</span> Copyright ?2004-2006, Moxiecode Systems AB, All rights reserved.
 */</span>

<span class="comment">/* Some of the contents of this file will be wrapped in a class later on it will also be replaced with the new cleanup logic */</span>

<span class="comment">/**
 * Makes some preprocessing cleanup routines on the specified HTML string.
 * This includes forcing some tags to be open so MSIE doesn't fail. Forcing other to close and
 * padding paragraphs with non breaking spaces. This function is used when the editor gets
 * initialized with content.
 *
 * <span class="attrib">@param</span> {string} s HTML string to cleanup.
 * <span class="attrib">@return</span> Cleaned HTML string.
 * <span class="attrib">@type</span> string
 */</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.cleanupHTMLCode = <span class="reserved">function</span>(s) {
	s = s.replace(/&lt;p \/&gt;/gi, <span class="literal">'&lt;p&gt;&amp;nbsp;&lt;/p&gt;'</span>);
	s = s.replace(/&lt;p&gt;\s*&lt;\/p&gt;/gi, <span class="literal">'&lt;p&gt;&amp;nbsp;&lt;/p&gt;'</span>);

	<span class="comment">// Open closed tags like &lt;b/&gt; to &lt;b&gt;&lt;/b&gt;</span>
<span class="comment">//	tinyMCE.debug("f:" + s);</span>
	s = s.replace(/&lt;(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|b|font|em|strong|i|strike|u|span|a|ul|ol|li|blockquote)([a-z]*)([^\\|&gt;]*?)\/&gt;/gi, <span class="literal">'&lt;$1$2$3&gt;&lt;/$1$2&gt;'</span>);
<span class="comment">//	tinyMCE.debug("e:" + s);</span>

	<span class="comment">// Remove trailing space &lt;b &gt; to &lt;b&gt;</span>
	s = s.replace(new RegExp(<span class="literal">'\\s+&gt;&lt;/'</span>, <span class="literal">'gi'</span>), <span class="literal">'&gt;&lt;/'</span>);

	<span class="comment">// Close tags &lt;img&gt;&lt;/img&gt; to &lt;img/&gt;</span>
	s = s.replace(/&lt;(img|br|hr)(.*?)&gt;&lt;\/(img|br|hr)&gt;/gi, <span class="literal">'&lt;$1$2 /&gt;'</span>);

	<span class="comment">// Weird MSIE bug, &lt;p&gt;&lt;hr /&gt;&lt;/p&gt; breaks runtime?</span>
	<span class="reserved">if</span> (tinyMCE.isMSIE)
		s = s.replace(/&lt;p&gt;&lt;hr \/&gt;&lt;\/p&gt;/gi, <span class="literal">"&lt;hr&gt;"</span>);

	<span class="comment">// Convert relative anchors to absolute URLs ex: #something to file.htm#something</span>
	<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">'convert_urls'</span>))
		s = s.replace(new RegExp(<span class="literal">'(href=\"?)(\\s*?#)'</span>, <span class="literal">'gi'</span>), <span class="literal">'$1'</span> + tinyMCE.settings[<span class="literal">'document_base_url'</span>] + <span class="literal">"#"</span>);

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

<span class="comment">/**
 * Parses the specified HTML style data. This will parse for example
 * "border-left: 1px; background-color: red" into an key/value array.
 *
 * <span class="attrib">@param</span> {string} str Style data to parse.
 * <span class="attrib">@return</span> Name/Value array of style items.
 * <span class="attrib">@type</span> Array
 */</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.parseStyle = <span class="reserved">function</span>(str) {
	var ar = new Array();

	<span class="reserved">if</span> (str == null)
		<span class="reserved">return</span> ar;

	var st = str.split(<span class="literal">';'</span>);

	tinyMCE.clearArray(ar);

	<span class="reserved">for</span> (var i=0; i&lt;st.length; i++) {
		<span class="reserved">if</span> (st[i] == <span class="literal">''</span>)
			continue;

		var re = new RegExp(<span class="literal">'^\\s*([^:]*):\\s*(.*)\\s*$'</span>);
		var pa = st[i].replace(re, <span class="literal">'$1||$2'</span>).split(<span class="literal">'||'</span>);
<span class="comment">//tinyMCE.debug(str, pa[0] + "=" + pa[1], st[i].replace(re, '$1||$2'));</span>
		<span class="reserved">if</span> (pa.length == 2)
			ar[pa[0].toLowerCase()] = pa[1];
	}

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

<span class="comment">/**
 * Compresses larger styles into a smaller. Since MSIE automaticly converts
 * border: 1px solid red to border-left: 1px solid red, border-righ: 1px solid red and so forth.'
 * This will bundle them together again if the information is the same in each item.
 *
 * <span class="attrib">@param</span> {Array} ar Style name/value array with items.
 * <span class="attrib">@param</span> {string} pr Style item prefix to bundle for example border.
 * <span class="attrib">@param</span> {string} sf Style item suffix to bunlde for example -width or -width.
 * <span class="attrib">@param</span> {string} res Result name, for example border-width.
 */</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.compressStyle = <span class="reserved">function</span>(ar, pr, sf, res) {
	var box = new Array();

	box[0] = ar[pr + <span class="literal">'-top'</span> + sf];
	box[1] = ar[pr + <span class="literal">'-left'</span> + sf];
	box[2] = ar[pr + <span class="literal">'-right'</span> + sf];
	box[3] = ar[pr + <span class="literal">'-bottom'</span> + sf];

	<span class="reserved">for</span> (var i=0; i&lt;box.length; i++) {
		<span class="reserved">if</span> (box[i] == null)
			<span class="reserved">return</span>;

		<span class="reserved">for</span> (var a=0; a&lt;box.length; a++) {
			<span class="reserved">if</span> (box[a] != box[i])
				<span class="reserved">return</span>;
		}
	}

	<span class="comment">// They are all the same</span>
	ar[res] = box[0];
	ar[pr + <span class="literal">'-top'</span> + sf] = null;
	ar[pr + <span class="literal">'-left'</span> + sf] = null;
	ar[pr + <span class="literal">'-right'</span> + sf] = null;
	ar[pr + <span class="literal">'-bottom'</span> + sf] = null;
};

<span class="comment">/**
 * Serializes the specified style item name/value array into a HTML string. This function
 * will force HEX colors in Firefox and convert the URL items of a style correctly.
 *
 * <span class="attrib">@param</span> {Array} ar Name/Value array of items to serialize.
 * <span class="attrib">@return</span> Serialized HTML string containing the items.
 * <span class="attrib">@type</span> string
 */</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.serializeStyle = <span class="reserved">function</span>(ar) {
	var str = <span class="literal">""</span>;

	<span class="comment">// Compress box</span>
	tinyMCE.compressStyle(ar, <span class="literal">"border"</span>, <span class="literal">""</span>, <span class="literal">"border"</span>);
	tinyMCE.compressStyle(ar, <span class="literal">"border"</span>, <span class="literal">"-width"</span>, <span class="literal">"border-width"</span>);
	tinyMCE.compressStyle(ar, <span class="literal">"border"</span>, <span class="literal">"-color"</span>, <span class="literal">"border-color"</span>);

	<span class="reserved">for</span> (var key in ar) {
		var val = ar[key];
		<span class="reserved">if</span> (typeof(val) == <span class="literal">'function'</span>)
			continue;

		<span class="reserved">if</span> (val != null &amp;&amp; val != <span class="literal">''</span>) {
			val = <span class="literal">''</span> + val; <span class="comment">// Force string</span>

			<span class="comment">// Fix style URL</span>
			val = val.replace(new RegExp(<span class="literal">"url\\(\\'?([^\\']*)\\'?\\)"</span>, <span class="literal">'gi'</span>), <span class="literal">"url('$1')"</span>);

			<span class="comment">// Convert URL</span>
			<span class="reserved">if</span> (val.indexOf(<span class="literal">'url('</span>) != -1 &amp;&amp; tinyMCE.getParam(<span class="literal">'convert_urls'</span>)) {
				var m = new RegExp(<span class="literal">"url\\('(.*?)'\\)"</span>).exec(val);

				<span class="reserved">if</span> (m.length &gt; 1)
					val = <span class="literal">"url('"</span> + eval(tinyMCE.getParam(<span class="literal">'urlconverter_callback'</span>) + <span class="literal">"(m[1], null, true);"</span>) + <span class="literal">"')"</span>;

⌨️ 快捷键说明

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