FCKeditor在ASP配置環境中的使用

先說一下我的測試環境:XPSP2,IIS5.1,FCKeditor2.0

  在IIS上建立一個新的站點,我直接取名爲FCKeditor

  在DW裏建立一個相對應的站點,測試服務器爲本機,支持VBScript

  下載FCKeditor2.0,這個東西是開源的,網上能下到的地方很多,自己找去……

  下載下來的應該是壓縮包,解壓到FCKeditor站點根目錄,什麼都不需要更改,直接就可以開始調用了。等你會了的時候,會發現簡單得要死去!

  在站點根目錄下,新建一個index.asp頁面,段內加如下代碼(調用編輯器):

 

<%
Dim oFCKeditor
Set oFCKeditor = New FCKeditor
oFCKeditor.BasePath = "/FCKeditor/" //設置編輯器的路徑,我站點根目錄下的一個目錄
oFCKeditor.ToolbarSet = "Default"
oFCKeditor.Width = "100%"
oFCKeditor.Height = "600"
oFCKeditor.Value = "" //這個是給編輯器初始值
oFCKeditor.Create "logbody" //以後編輯器裏的內容都是由這個logbody取得,命名由你定
%>

  加了這一段別忘了在index.asp前面第二行加上

  <!--#include file="FCKeditor/fckeditor.asp" -->

  把fckeditor.asp包含進來。切記切記!

  就這麼簡單!

  現在你只要把這個編輯器當成一個控件來使用,提取它的數據時用:request("logbody")

  現在鬆口氣吧。測試成功了。裏面有些設置,去網上找些高級的使用說明來看吧。

  FCKeditor使用初步

  以下內容爲原創,如需轉載,請註明出處爲http://3rgb.com 作者:檸檬園主

  FCKeditor 2.0版終於出來了,之所以用“終於”這個詞,是因爲在這一版本上加上了衆望所歸的FLASH插入功能。可以說在所有的在線編輯器中,FCKeditor 是目前互聯網上最好的編輯器,功能強大,支持多種瀏覽器,無平臺限制,可以和多種WEB語言融合,多語言支持,開源等~~

  對於一個全新的網站,FCKeditor就可以直接拿過來用了,不需要進行什麼修改。但是對於絕大多數的已有網站而言,FCKeditor的一些設置並不適合自己的使用,這篇文章旨在告訴你簡單的修改FCKeditor以方便您的網站的使用。

  第一項工作就是對這個功能宏大的編輯器進行精簡,當然是文件精簡而非功能精簡化。在這裏我以asp版的FCKeditor爲例進行,進入到 FCKeditor 2.0文件夾下,先把以“_”爲開頭的文件夾統統刪除,這些文件夾裏放的是範例或是一些其它工具。其實也就是隻保留editor文件夾、 fckconfig.js、fckeditor.asp、fckeditor.js、fckstyles.xml、fcktemplates.xml就可 以了,最外層的精簡化完畢,進入到editor文件夾內,先把“_source”文件夾刪除,這裏是一些源文件,對於使用來說沒什麼用處。

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

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

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

  第一個修改的文件,也就是fckeditor總配置文件,位於根目錄下的fckconfig.js文件。請根據下面的列表進行(以fckeditor 2.0版的爲準):

  找到第20行 FCKConfig.DefaultLanguage = 'en' ;改爲 FCKConfig.DefaultLanguage = 'zh-cn' ;設置默認語言爲簡體中文

  找到第40行 FCKConfig.TabSpaces = 0 ; 改爲FCKConfig.TabSpaces = 1 ; 即在編輯器域內可以使用Tab鍵。

  如果你的編輯器還用在網站前臺的話,比如說用於留言本或是日記回覆時,那就不得不考慮安全了,在前臺千萬不要使用Default的toolbar,要麼自定義一下功能,要麼就用系統已經定義好的Basic,也就是基本的toolbar,

  找到第64行 FCKConfig.ToolbarSets["Basic"] = [

   ['Bold','Italic','-','OrderedList','UnorderedList','-',/*'Link',*/'Unlink','-','Style','FontSize','TextColor','BGColor','-','Smiley','SpecialChar','Replace','Preview']

  ] ;

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

  找到第73行

  FCKConfig.ContextMenu = ['Generic',/*'Link',*/'Anchor',/*'Image',*/'Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField',/*'ImageButton',*/'Button','BulletedList','NumberedList','TableCell','Table','Form'] ;

  這也是我改過的把鼠標右鍵的“鏈接、圖像,FLASH,圖像按鈕”功能都去掉。

  找到 第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' ;

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

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

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

  打開fckeditor.asp文件,找到 sBasePath = "/fckeditor/"改爲 sBasePath = "/"

  打開fckeditor.js文件,找到 this.BasePath = '/fckeditor/' ;改爲 this.BasePath = '/' ;

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

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

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

  還沒完,繼續進入到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", ""

  同理,這裏的設置也是要和上面以及fckconfig.js裏面對應的。

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

  ConfigAllowedExtensions.Add "uploadfile", ""

  ConfigDeniedExtensions.Add "uploadfile", ""

  接下來呢,就講一下如何創建自己的在線編輯器,這裏以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版的,當然只能用在以.asp爲擴展名的頁面中,如果你在前在fckedito.asp裏設置過BasePath爲"/"的話,這裏就可以省掉第三行,ASP版的只有一個Create函數。建議在修改一篇內容時用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>

  

  var oFCKeditor = new FCKeditor( 'logbody' ) ;

  oFCKeditor.BasePath = '/' ;

  oFCKeditor.ToolbarSet = 'Basic' ;

  oFCKeditor.Width = '100%' ;

  oFCKeditor.Height = '400' ;

  oFCKeditor.Value = '' ;

  oFCKeditor.Create() ;

  

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

  另外,JS版的還有一個功能函數就是ReplaceTextarea()函數,可以替換指定的TextArea,拿我的網站的日誌的回覆部分示例:

 

<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>

  

  

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

  補遺:前面講到了,說是在編輯已有數據內容時不要用JS版的,那是因爲單引號(')的問題造成的,在數據內容裏難免會有單引號存在而用JS版生 成編輯器時可能就會因爲單引號問題,而使編輯器無法正常生成,而採用asp則不同,用ASP版本的是因爲數據被當成是一個變量了,然後直接賦值給編輯器 域。還有就是除非你要用ReplaceTextArea()方法來生成編輯器,否則你不需先寫一個<textarea>這樣的標籤,一切都會 由fckeditor自動生成的,你所需做的只是給fckeditor指定一個實例名。同時你也不用擔心如何提交,在表單提交的時候,fckeditor 會自動提交,提交的變量名是以你指定的fckeditor實例命名的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章