ASP中FCKEditor編輯器的設(shè)置教程

字號(hào):


    1、默認(rèn)語(yǔ)言
    打開(kāi)fckconfig.js文件(相對(duì)FCKeditor文件夾,以下同),把自動(dòng)檢測(cè)語(yǔ)言改為不檢測(cè),把默認(rèn)語(yǔ)言改為簡(jiǎn)體中文:
    程序代碼
    FCKConfig.AutoDetectLanguage = false ;
    FCKConfig.DefaultLanguage = 'zh-cn' ;
    2、字體列表
    打開(kāi)fckconfig.js文件,在字體列表中添加常用的“宋體;黑體;隸書;楷體_GB2312”:
    程序代碼
    FCKConfig.FontNames = '宋體;黑體;隸書;楷體_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
    3、文件上傳
    FCKeditor的文件管理程序在filemanager文件夾中,又分為瀏覽(browser)和上傳(upload)兩種。瀏覽是指瀏覽服務(wù)器文件并可以選擇,也可以上傳本地文件至服務(wù)器;上傳是指快速上傳(QuickUpload),在窗口中點(diǎn)“上傳”選項(xiàng)卡打開(kāi)就是,跟我們使用的UBB編輯器有點(diǎn)相似,選擇本地文件后上傳就行。
    也就是說(shuō)FCKeditor中有一個(gè)文件瀏覽,有兩個(gè)文件上傳,而這些設(shè)置有些在一個(gè)文件中,有的則在多個(gè)文件中。比較復(fù)雜,改動(dòng)比較多,我們?cè)俜謳讉€(gè)小點(diǎn)兒來(lái)說(shuō)。
    ①打開(kāi)和關(guān)閉文件瀏覽和上傳功能
    有三個(gè)文件跟這個(gè)開(kāi)關(guān)有關(guān)系,一個(gè)是js文件,兩個(gè)是asp文件,前者關(guān)閉后界面中不出現(xiàn)相關(guān)窗口或按鈕,后者關(guān)閉后相關(guān)功能不可用。
    首先是fckconfig.js文件,以下內(nèi)容設(shè)為true為開(kāi),false則為關(guān)。
    文件瀏覽和瀏覽中上傳功能:
    程序代碼
    FCKConfig.LinkBrowser = false ;
    FCKConfig.ImageBrowser = false ;
    FCKConfig.FlashBrowser = false ;
    文件快速上傳功能:
    程序代碼
    FCKConfig.LinkUpload = true ;
    FCKConfig.ImageUpload = true ;
    FCKConfig.FlashUpload = true ;
    其次設(shè)置兩個(gè)asp文件:
    editorfilemanagerbrowserdefaultconnectorsaspconfig.asp
    程序代碼
    ConfigIsEnabled = False
    表示文件瀏覽關(guān)閉
    editorfilemanageruploadaspconfig.asp
    程序代碼
    ConfigIsEnabled = True
    表示文件快速上傳打開(kāi)
    ②文件上傳或?yàn)g覽的路徑設(shè)置
    注意FCKeditor是不支持虛擬目錄的,您的所有路徑都是針對(duì)網(wǎng)站根目錄的絕對(duì)路徑,這點(diǎn)對(duì)于在本地測(cè)試用虛擬目錄,發(fā)布到遠(yuǎn)程用網(wǎng)站目錄的開(kāi)發(fā)者不太方便。我的就是這樣,WinXP系統(tǒng)只能一個(gè)站點(diǎn),只有用虛擬目錄表示不同的網(wǎng)站,在本地測(cè)試好了,上傳前還要臨時(shí)更改這個(gè)設(shè)置。
    文件瀏覽路徑,打開(kāi)文件editorfilemanagerbrowserdefaultconnectorsaspconfig.asp:
    程序代碼
    ConfigUserFilesPath = "/attachments/"
    快速上傳的路徑,打開(kāi)文件editorfilemanageruploadaspconfig.asp:
    程序代碼
    ConfigUserFilesPath = "/attachments/"
    我的文件目錄在http://127.0.0.1/temp/下面,就照以上設(shè)置。如果在本地測(cè)試這個(gè)網(wǎng)站在虛擬目錄xxx中,則應(yīng)該設(shè)置為:
    程序代碼
    ConfigUserFilesPath = "/127.0.0.1/temp/"
    ③文件快速上傳的一個(gè)源文件BUG
    以上設(shè)置好后,文件瀏覽和瀏覽中上傳可以順利進(jìn)行,但是你會(huì)發(fā)現(xiàn)“快速上傳”不能用?,F(xiàn)象就是當(dāng)選擇好本地文件后,點(diǎn)擊“上傳至服務(wù)器”的按鈕后沒(méi)有任何反應(yīng)。這就是因?yàn)閒ckconfig.js文件中的一個(gè)bug所致。
    打開(kāi)fckconfig.js文件,把FCKConfig.QuickUploadLanguage字樣的地方,替換成_QuickUploadLanguage,一共要替換三個(gè)地方。前者沒(méi)有定義就使用,所以有錯(cuò),按代碼意圖應(yīng)該和后者的值一樣的。
    ④上傳文件名自動(dòng)更名
    FCKeditor不支持中文文件名稱,所以我們要讓文件存入服務(wù)器時(shí)更改名稱。由于有兩個(gè)上傳的地方,而且所用文件不同,所以兩個(gè)文件應(yīng)該同時(shí)改,我們先來(lái)看看快速上傳的文件,打開(kāi)editorfilemanageruploadaspupload.asp,在文件最后添加以下函數(shù):
    程序代碼
    Public Function GetNewFileName()
    dim ranNum
    dim dtNow
    dtNow=Now()
    randomize
    ranNum=int(90*rnd)+10
    GetNewFileName=year(dtNow) & right("0" & month(dtNow),2) & right("0" & day(dtNow),2) & right("0" & hour(dtNow),2) & right("0" & minute(dtNow),2) & right("0" & second(dtNow),2) & ranNum
    End Function
    我們用年月日時(shí)分秒和兩位隨機(jī)數(shù)字來(lái)作為文件名,這樣既能夠分辨出文件上傳時(shí)間,也不容易重名。
    然后仍然是這個(gè)文件,找到:
    程序代碼
    ' Get the uploaded file name.
    sFileName = oUploader.File( "NewFile" ).Name
    把它改為:
    程序代碼
    ' Get the uploaded file name.
    sFileName = GetNewFileName() &"."& split(oUploader.File( "NewFile" ).Name,".")
    上面說(shuō)的是快速上傳的文件,而文件瀏覽中上傳則是更改另外一個(gè)文件(editorfilemanagerbrowserdefaultconnectorsaspcommands.asp),其修改方法和上面那個(gè)文件一樣:添加一個(gè)函數(shù),修改一行代碼。
    4、在ASP源程序中引用FCKeditor編輯器
    首先在asp頁(yè)面頂端插入服務(wù)器端包含語(yǔ)句:
    程序代碼
    然后在表單里面添加以下代碼:
    程序代碼
    ' 定義變量
    Dim oFCKeditor
    ' 類的初始化
    Set oFCKeditor = New FCKeditor
    ' 定義路徑(默認(rèn)路徑:/FCKeditor/)
    oFCKeditor.BasePath="FCKeditor/"
    ' 定義工具條(默認(rèn)為:Default)
    oFCKeditor.ToolbarSet="Basic"
    ' 定義寬度(默認(rèn)寬度:100%)
    oFCKeditor.Width="100%"
    ' 定義高度(默認(rèn)高度:200)
    oFCKeditor.Height=350
    ' 輸入框的初始值
    oFCKeditor.Value="這是示例文本。"
    ' 創(chuàng)建輸入框名為:content
    oFCKeditor.Create "content"
    這樣就在表單里面創(chuàng)建了一個(gè)隱藏的名稱為content的輸入框,可以和其他表單元素一樣使用,例如用以下代碼取得該輸入框的值:
    程序代碼
    Dim content
    content=CheckStr(Request.Form("content"))
    以上用CheckStr對(duì)輸入數(shù)據(jù)進(jìn)行了檢測(cè),原始數(shù)據(jù)如果包含單引號(hào)之類的,那么更新數(shù)據(jù)庫(kù)會(huì)出錯(cuò)。