📄 overview-summary-tinymce_cleanup.class.js.html
字号:
<!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> </td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> <font class="NavBarFont1Rev"><b>File</b></font> </td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font> </td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a> </td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a> </td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a> </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">
PREV
NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a>
<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
<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> </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(/<p \/>/gi, <span class="literal">'<p>&nbsp;</p>'</span>);
s = s.replace(/<p>\s*<\/p>/gi, <span class="literal">'<p>&nbsp;</p>'</span>);
<span class="comment">// Open closed tags like <b/> to <b></b></span>
<span class="comment">// tinyMCE.debug("f:" + s);</span>
s = s.replace(/<(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]*)([^\\|>]*?)\/>/gi, <span class="literal">'<$1$2$3></$1$2>'</span>);
<span class="comment">// tinyMCE.debug("e:" + s);</span>
<span class="comment">// Remove trailing space <b > to <b></span>
s = s.replace(new RegExp(<span class="literal">'\\s+></'</span>, <span class="literal">'gi'</span>), <span class="literal">'></'</span>);
<span class="comment">// Close tags <img></img> to <img/></span>
s = s.replace(/<(img|br|hr)(.*?)><\/(img|br|hr)>/gi, <span class="literal">'<$1$2 />'</span>);
<span class="comment">// Weird MSIE bug, <p><hr /></p> breaks runtime?</span>
<span class="reserved">if</span> (tinyMCE.isMSIE)
s = s.replace(/<p><hr \/><\/p>/gi, <span class="literal">"<hr>"</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<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<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<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 && 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 && 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 > 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 + -