作者: liuwei1981 鏈接:http://liuwei1981.javaeye.com/blog/219534 發(fā)表時(shí)間: 2008年07月25日
聲明:本文系JavaEye網(wǎng)站發(fā)布的原創(chuàng)博客文章,未經(jīng)作者書(shū)面許可,嚴(yán)禁任何網(wǎng)站轉(zhuǎn)載本文,否則必將追究法律責(zé)任!
在新的一個(gè)項(xiàng)目中,在用戶(hù)的要求下使用了飛魚(yú)富文本編輯器,用戶(hù)提出編輯器默認(rèn)字體太小,要調(diào)整字體大小和清除word格式字符串后的默認(rèn)大小。
和tiny_mce編輯器比起來(lái),飛魚(yú)編輯器在這方面的可配置方式提供的支持太少,而且關(guān)于這方面的資料幾乎沒(méi)有,好在飛魚(yú)編輯器雖然可配置東西不到,但還算比較簡(jiǎn)單,直接看源碼和文件,找到了修改的地方:
在css/CoolBlue/EditorArea.css文件里,代碼很簡(jiǎn)單,修改一下,加入字體設(shè)置代碼就可以了:
body,a,table,div,span,td,th,input,select{font-size:9pt;font-family:"宋體,Verdana,Arial";Color:#000000;} body {background-color:#FFFFFF;SCROLLBAR-BASE-COLOR:#9EBEF5,font-size:13pt}
font-size:13pt 就是加入的設(shè)置。
至于在清除word格式后,設(shè)置清除樣式后的內(nèi)容默認(rèn)字體大小,就有點(diǎn)麻煩了,找了半天,沒(méi)有樣式的設(shè)置,直接進(jìn)入js文件查找,用一個(gè)比較笨拙的辦法實(shí)現(xiàn)了:
include/editor.js文件里。有這樣的代碼:
-
// 粘貼時(shí)自動(dòng)檢測(cè)是否來(lái)源于Word格式 function onPaste() { if (config.AutoDetectPasteFromWord && BrowserInfo.IsIE55OrMore) { var sHTML = GetClipboardHTML() ; var re = /<\w[^>]* class="?MsoNormal"?/gi ; if ( re.test( sHTML ) ) { if ( confirm( "你要粘貼的內(nèi)容好象是從Word中拷出來(lái)的,是否要先清除Word格式再粘貼?" ) ) { cleanAndPaste( sHTML ) ; return false ; } } } else return true ; } function cleanAndPaste( html ) { // Remove all SPAN tags html = html.replace(/<\/?SPAN[^>]*>/gi, "" ); // Remove Class attributes html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ; // Remove Style attributes html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ; // Remove Lang attributes html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ; // Remove XML elements and declarations html = html.replace(/<\\?\?xml[^>]*>/gi, "") ; // Remove Tags with XML namespace declarations: <o:p></o:p> html = html.replace(/<\/?\w+:[^>]*>/gi, "") ; // Replace the ? html = html.replace(/?/, " " ); // Transform <P> to <DIV> var re = new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi") ; // Different because of a IE 5.0 error //html?=?html.replace(?re,?"<div$2</div>"?)?; ??
- ???? html?=?html.replace(?re,?"<div?style=\"font-size=14px\"$2</div>"?)?;
- insertHTML( html ) ; } // 在當(dāng)前文檔位置插入. function insertHTML(html) { if (!validateMode()) return; if (eWebEditor.document.selection.type.toLowerCase() != "none") eWebEditor.document.selection.clear() ; eWebEditor.document.selection.createRange().pasteHTML(html) ; }
這就是修改的代碼。
修改的部分:
//html = html.replace( re, "<div$2</div>" ) ; html = html.replace( re, "<div style=\"font-size=14px\"$2</div>" ) ;
注釋掉的就是原來(lái)的代碼, 下一行就是增加的代碼,這里就是在div中增加了樣式修飾,沒(méi)辦法,沒(méi)有配置文件,就只有直接修改源代碼了。
本文的討論也很精彩,瀏覽討論>>
JavaEye推薦
文章來(lái)源:http://liuwei1981.javaeye.com/blog/219534