甘先生Blog

          生活就像一盒巧克力,你永遠(yuǎn)不知道你會得到什么

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            59 Posts :: 29 Stories :: 186 Comments :: 0 Trackbacks

          FCKeditor 2.2版終于出來了,之所以用“終于”這個詞,是因為在這一版本上加上了眾望所歸的FLASH插入功能。可以說在所有的在線編輯器中,F(xiàn)CKeditor是目前互聯(lián)網(wǎng)上最好的編輯器,功能強大,支持多種瀏覽器,無平臺限制,可以和多種WEB語言融合,多語言支持,開源等~~ 

          另外還有一個FreeTextBox的web 編輯器,也是一個不錯的選擇。
          FreeTextBox 是一個基于 Internet Explorer 中 MSHTML 技術(shù)的 ASP.NET 服務(wù)器控件。這是一款優(yōu)秀的自由軟件(Free Software),我們可以輕松地將其嵌入到 Web Forms 中實現(xiàn) HTML 內(nèi)容的在線編輯,在新聞發(fā)布、博客寫作、論壇社區(qū)等多種 Web 系統(tǒng)中都會有用途。 
          不過FreeTextBox現(xiàn)只支持asp。  推薦使用FCKeditor.

          以下FCKeditor和FreeTextBox的截圖:
          FCKeditor截圖:
           
          FreeTextBox截圖:


          FreeTextBox 的官方地址:http://www.freetextbox.com
          FCKeditor的官方地址:http://www.fckeditor.net/

          下面主要介紹FCKeditor:

          對于一個全新的網(wǎng)站,F(xiàn)CKeditor就可以直接拿過來用了,不需要進(jìn)行什么修改。但是對于絕大多數(shù)的已有網(wǎng)站而言,F(xiàn)CKeditor的一些設(shè)置并不適合自己的使用,這篇文章旨在告訴你簡單的修改FCKeditor以方便您的網(wǎng)站的使用。

          第一項工作就是對這個功能宏大的編輯器進(jìn)行精簡,當(dāng)然是文件精簡而非功能精簡化。在這里我以asp版的FCKeditor為例進(jìn)行,進(jìn)入到FCKeditor 2.0文件夾下,先把以“_”為開頭的文件夾統(tǒng)統(tǒng)刪除,這些文件夾里放的是范例或是一些其它工具。其實也就是只保留editor文件夾、fckconfig.js、fckeditor.asp、fckeditor.js、fckstyles.xml、fcktemplates.xml就可以了,最外層的精簡化完畢,進(jìn)入到editor文件夾內(nèi),先把“_source”文件夾刪除,這里是一些源文件,對于使用來說沒什么用處。

          進(jìn)入images文件夾,刪除smiley文件夾,些文件是放表情圖標(biāo)的,由于接下來我會用我自己的表情圖標(biāo),先把他們的刪除,當(dāng)然,如果你想用這里的表情圖標(biāo)那就不要刪掉了。退出 images再進(jìn)入lang文件夾內(nèi),這里的東西可以來個大清洗了,只保留fcklanguagemanager.js、zh-cn.js、en.js、zh.js這四個文件,第一個文件是語言配置文件,有了它才能和fckconfig.js里的設(shè)置成對對應(yīng)上相應(yīng)的語言文件,zh-cn.js是簡體中文語言包,en.js就不用說了吧,zh.js是繁體中文的。怎么樣?一下子少了幾百K,爽吧~

          再退出lang文件夾,進(jìn)入skin文件夾,如果你想使用fckeditor默認(rèn)的這種奶黃色,那就把除了default文件夾外的另兩個文件夾直接刪除,如果想用別的,那就自己考慮了,不過我給你個建議,如果不想用默認(rèn)的,那就選那個silver,因為銀色也就是灰色和任何顏色配起來都不會難看,而那個office2003的皮膚,反正我是非常不喜歡的,并且圖片相對也比較大,又增加了下載時間,不要!

          精簡的最后一步,退出skin文件夾,再進(jìn)入filemanager,如果你用的不是最新版的fckeditor的話,那這里就一個文件夾browser,新版的還有一個upload文件夾。一個個來,先進(jìn)入到filemanager/browser/default/connectors/下,因為我是用的asp的,所以除asp文件夾外,全部刪除。然后再進(jìn)入filemanager/upload/下,同樣,只留asp文件夾,至此,編輯器的精簡化已經(jīng)結(jié)束了,接下來,我們對編輯器進(jìn)行設(shè)置修改。

          第一個修改的文件,也就是fckeditor總配置文件,位于根目錄下的fckconfig.js文件。請根據(jù)下面的列表進(jìn)行(以fckeditor 2.0版的為準(zhǔn)):

          找到第20行 FCKConfig.DefaultLanguage = 'en' ;改為 FCKConfig.DefaultLanguage = 'zh-cn' ;設(shè)置默認(rèn)語言為簡體中文
          找到第40行 FCKConfig.TabSpaces = 0 ; 改為FCKConfig.TabSpaces = 1 ; 即在編輯器域內(nèi)可以使用Tab鍵。

          如果你的編輯器還用在網(wǎng)站前臺的話,比如說用于留言本或是日記回復(fù)時,那就不得不考慮安全了,在前臺千萬不要使用Default的toolbar,要么自定義一下功能,要么就用系統(tǒng)已經(jīng)定義好的Basic,也就是基本的toolbar,
          找到第64行:

          FCKConfig.ToolbarSets["Basic"] = [
          ['Bold','Italic','-','OrderedList','UnorderedList','-',/*'Link',*/'Unlink','-','Style','FontSize','TextColor','BGColor','-','Smiley','SpecialChar','Replace','Preview']
          ] ;

          這是我改過的Basic,把圖像功能去掉,把添加鏈接功能去掉,因為圖像和鏈接和flash和圖像按鈕添加功能都能讓前臺頁直接訪問和上傳文件,要是這兒不改直接給你上傳個木馬還不馬上玩完?但是光這樣還不行,fckeditor還支持編輯域內(nèi)的鼠標(biāo)右鍵功能。

          找到 第77行:

          FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;

          加上幾種我們常用的字體 FCKConfig.FontNames = '宋體;黑體;隸書;楷體_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;

          接下來就設(shè)置上傳功能了,還是以ASP為例,其實fck默認(rèn)的就是asp的,把100行以下的所有被注釋掉的代碼全部刪掉就行,然后再把下面所有有關(guān)于browser.html和upload.asp的后面的?Type=XX都改成Type=YY,其中YY為你想保存文件的文件夾名稱。

          而如果你還想用自己的表情圖標(biāo)的話,那跳到131行,改掉那個表情圖標(biāo)的文件夾地址,以及下面的表情圖標(biāo)的文件名,再下面那三個數(shù)字是每行顯示表情數(shù)及彈出窗口的寬和高了,這個的大小要根據(jù)您的表情圖標(biāo)排列的窗口的大小而定了。OK,總配置文件修改結(jié)束。

          接下來是編輯器位置的設(shè)置,我的習(xí)慣是把editor放在根目錄下,最開始所述的五個文件也放在根目錄下(Tips:建議放在根目錄下,并且建議使用時設(shè)置路徑也采用絕對路徑,如"/fckeditor/",而我的習(xí)慣的設(shè)置是"/"),這樣有利于fckeditor的更新升級,并且網(wǎng)站下所有文件夾都可以任意調(diào)用,不存在其它文件夾名變了而其它地方就無法使用編輯器的問題。

          打開fckeditor.asp文件,找到 sBasePath = "/fckeditor/"改為 sBasePath = "/"
          打開fckeditor.js文件,找到 this.BasePath = '/fckeditor/' ;改為 this.BasePath = '/' ;

          編輯器域內(nèi)默認(rèn)的顯示字體為12px,而我的主頁默認(rèn)字體為14px,所以看著就很不舒服,想要修改可以通過修改樣式表來達(dá)到要求,打開/editor/css/fck_editorarea.css,把第4行改為 font-size: 14px;即可。

          接下來就是上傳文件的設(shè)置了,這個比較麻煩,請仔細(xì)操作。

          打開\editor\filemanager\browser\default\frmresourcetype.html,找到第15行,插入“ ['uploadfile','uploadfile'],”配合上剛才在fckconfig.js里的設(shè)置,那么我的上傳文件路徑就是/uploadfile,當(dāng)然你也可以改成你想要的文件夾,但這里的名稱一定要和fckconfig.js里的那個“Type=YY”里的YY一致才行。

          還沒完,繼續(xù)進(jìn)入到editor\filemanager\browser\default\connectors\asp,打開config.asp,先把ConfigIsEnabled = False改成為ConfigIsEnabled = True,要不是沒法上傳文件的,再把ConfigUserFilesPath = "/UserFile"改成我想要的ConfigUserFilesPath = "/"。
          接著在“Set ConfigDeniedExtensions = CreateObject( "Scripting.Dictionary" )”后面加入
          ConfigAllowedExtensions.Add "uploadfile", ""
          ConfigDeniedExtensions.Add "uploadfile", ""

          同理,這里的設(shè)置也是要和上面以及fckconfig.js里面對應(yīng)的。

          還有一個上傳,就是快速上傳,這個功能是在fckeditor 2.0里才有的,以前的版本沒這個功能。進(jìn)入\editor\filemanager\upload\asp,同樣打開config.asp,也同樣的把ConfigIsEnabled = False 設(shè)置成 ConfigIsEnabled = True,我這里把ConfigUserFilesPath = "/UserFiles/"改成我想要的 ConfigUserFilesPath = "/uploadfile/"& Year(Date()) &"-"& Month(Date()) &"/",因為我的上傳文件是放在uploadfile文件夾下,并且是按月分開放置的。快速上傳,不會讓你選擇文件夾,而是通過這里的設(shè)置直接上傳的,這兒設(shè)置如果和前面的設(shè)置配合不好的話,你的文件就會被上傳得亂七八糟,很不方便管理。接前重復(fù)前一個config.asp里的操作,在后面加上

          ConfigAllowedExtensions.Add "uploadfile", ""
          ConfigDeniedExtensions.Add "uploadfile", ""


          接下來呢,就講一下如何創(chuàng)建自己的在線編輯器,這里以ASP和JS版的為例,ASP版示例代碼,一般用于后臺操作:

          <%
          Dim oFCKeditor
          Set oFCKeditor = New FCKeditor
          oFCKeditor.BasePath = "/"

          oFCKeditor.ToolbarSet = "Default"
          oFCKeditor.Width = "100%"
          oFCKeditor.Height = "400"

          oFCKeditor.Value = rs("logbody")
          oFCKeditor.Create "logbody"
          %>

           

           

           

           

           

           

           

          ASP版的,當(dāng)然只能用在以.asp為擴(kuò)展名的頁面中,如果你在前在fckedito.asp里設(shè)置過BasePath為"/"的話,這里就可以省掉第三行,ASP版的只有一個Create函數(shù)。建議在修改一篇內(nèi)容時用ASP版的。

          接下來看JS版的:

          <script type="text/javascript">
          var oFCKeditor = new FCKeditor( 'logbody' ) ;
          oFCKeditor.BasePath = '/' ;
          oFCKeditor.ToolbarSet = 'Basic' ;
          oFCKeditor.Width = '100%' ;
          oFCKeditor.Height = '400' ;
          oFCKeditor.Value = '' ;
          oFCKeditor.Create() ;
          </script>

          BasePath的設(shè)置同上所述,JS版的可用于任何網(wǎng)頁中,甚至用于html頁面,因為其是客戶端生成的,這樣的好處就是一可以減小網(wǎng)絡(luò)流量,因為編輯器文件只需下載一次,二是可以由客戶端定義什么時候顯示,由于fckeditor初始化需要一定時間,在這一點上JS就很有作用了。

          另外,JS版的還有一個功能函數(shù)就是ReplaceTextarea()函數(shù),可以替換指定的TextArea,拿我的網(wǎng)站的日志的回復(fù)部分示例:
          <script type="text/javascript">
          <!--
          function showFCK(){
          var oFCKeditor = new FCKeditor( 'fbContent' ) ;
          oFCKeditor.BasePath = '/' ;
          oFCKeditor.ToolbarSet = 'Basic' ;
          oFCKeditor.Width = '100%' ;
          oFCKeditor.Height = '200' ;
          oFCKeditor.Value = '' ;
          //oFCKeditor.Create() ;
          oFCKeditor.ReplaceTextarea() ;
          //document.blog_feedback.blogsubmit.disabled = '';
          document.blog_feedback.blogsubmit.style.display = '';
          document.blog_feedback.openFCK.disabled = 'true';
          document.blog_feedback.openFCK.style.display = 'none';
          }
          //-->
          </script>

          把其寫成一個簡單的函數(shù),當(dāng)用戶顯示打開編輯器時才生成這個fckeditor,不用每次刷新頁面都去初始化一個編輯器,頁面的速度就會快多了。

          posted on 2006-04-27 14:24 甘先生 閱讀(3393) 評論(6)  編輯  收藏 所屬分類: 其他技術(shù)
          主站蜘蛛池模板: 启东市| 谢通门县| 金塔县| 广河县| 墨竹工卡县| 荆门市| 佛坪县| 申扎县| 绥滨县| 修武县| 广昌县| 乐业县| 临沭县| 隆昌县| 化州市| 德清县| 九龙城区| 斗六市| 昭平县| 太仓市| 日喀则市| 滨州市| 雷波县| 四会市| 体育| 邵阳县| 连山| 平阳县| 岑溪市| 锡林浩特市| 怀安县| 金乡县| 汶川县| 阿拉尔市| 二连浩特市| 阜阳市| 建昌县| 绩溪县| 满洲里市| 东明县| 彰武县|