萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> asp編程 >> ASP中FCKEditor編輯器的設置教程

ASP中FCKEditor編輯器的設置教程

   1、默認語言

  打開fckconfig.js文件(相對FCKeditor文件夾,以下同),把自動檢測語言改為不檢測,把默認語言改為簡體中文:

  程序代碼

  FCKConfig.AutoDetectLanguage = false ;

  FCKConfig.DefaultLanguage = 'zh-cn' ;

  2、字體列表

  打開fckconfig.js文件,在字體列表中添加常用的“宋體;黑體;隸書;楷體_GB2312”:

  程序代碼

  FCKConfig.FontNames = '宋體;黑體;隸書;楷體_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;

  3、文件上傳

  FCKeditor的文件管理程序在filemanager文件夾中,又分為浏覽(browser)和上傳(upload)兩種。浏覽是指浏覽服務器文件並可以選擇,也可以上傳本地文件至服務器;上傳是指快速上傳(QuickUpload),在窗口中點“上傳”選項卡打開就是,跟我們使用的UBB編輯器有點相似,選擇本地文件後上傳就行。

  也就是說FCKeditor中有一個文件浏覽,有兩個文件上傳,而這些設置有些在一個文件中,有的則在多個文件中。比較復雜,改動比較多,我們再分幾個小點兒來說。

  ①打開和關閉文件浏覽和上傳功能

  有三個文件跟這個開關有關系,一個是js文件,兩個是asp文件,前者關閉後界面中不出現相關窗口或按鈕,後者關閉後相關功能不可用。

  首先是fckconfig.js文件,以下內容設為true為開,false則為關。

  文件浏覽和浏覽中上傳功能:

  程序代碼

  FCKConfig.LinkBrowser = false ;

  FCKConfig.ImageBrowser = false ;

  FCKConfig.FlashBrowser = false ;

  文件快速上傳功能:

  程序代碼

  FCKConfig.LinkUpload = true ;

  FCKConfig.ImageUpload = true ;

  FCKConfig.FlashUpload = true ;

  其次設置兩個asp文件:

  editorfilemanagerbrowserdefaultconnectorsaspconfig.asp

  程序代碼

  ConfigIsEnabled = False

  表示文件浏覽關閉

  editorfilemanageruploadaspconfig.asp

  程序代碼

  ConfigIsEnabled = True

  表示文件快速上傳打開

  ②文件上傳或浏覽的路徑設置

  注意FCKeditor是不支持虛擬目錄的,您的所有路徑都是針對網站根目錄的絕對路徑,這點對於在本地測試用虛擬目錄,發布到遠程用網站目錄的開發者不太方便。我的就是這樣,WinXP系統只能一個站點,只有用虛擬目錄表示不同的網站,在本地測試好了,上傳前還要臨時更改這個設置。

  文件浏覽路徑,打開文件editorfilemanagerbrowserdefaultconnectorsaspconfig.asp:

  程序代碼

  ConfigUserFilesPath = "/attachments/"

  快速上傳的路徑,打開文件editorfilemanageruploadaspconfig.asp:

  程序代碼

  ConfigUserFilesPath = "/attachments/"

  我的文件目錄在http://127.0.0.1/temp/下面,就照以上設置。如果在本地測試這個網站在虛擬目錄xxx中,則應該設置為:

  程序代碼

  ConfigUserFilesPath = "/127.0.0.1/temp/"

  ③文件快速上傳的一個源文件BUG

  以上設置好後,文件浏覽和浏覽中上傳可以順利進行,但是你會發現“快速上傳”不能用。現象就是當選擇好本地文件後,點擊“上傳至服務器”的按鈕後沒有任何反應。這就是因為fckconfig.js文件中的一個bug所致。

  打開fckconfig.js文件,把FCKConfig.QuickUploadLanguage字樣的地方,替換成_QuickUploadLanguage,一共要替換三個地方。前者沒有定義就使用,所以有錯,按代碼意圖應該和後者的值一樣的。

  ④上傳文件名自動更名

  FCKeditor不支持中文文件名稱,所以我們要讓文件存入服務器時更改名稱。由於有兩個上傳的地方,而且所用文件不同,所以兩個文件應該同時改,我們先來看看快速上傳的文件,打開editorfilemanageruploadaspupload.asp,在文件最後添加以下函數:

  程序代碼

  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

  我們用年月日時分秒和兩位隨機數字來作為文件名,這樣既能夠分辨出文件上傳時間,也不容易重名。

  然後仍然是這個文件,找到:

  程序代碼

  ' Get the uploaded file name.

  sFileName = oUploader.File( "NewFile" ).Name

  把它改為:

  程序代碼

  ' Get the uploaded file name.

  sFileName = GetNewFileName() &"."& split(oUploader.File( "NewFile" ).Name,".")

  上面說的是快速上傳的文件,而文件浏覽中上傳則是更改另外一個文件(editorfilemanagerbrowserdefaultconnectorsaspcommands.asp),其修改方法和上面那個文件一樣:添加一個函數,修改一行代碼。

  4、在ASP源程序中引用FCKeditor編輯器

  首先在asp頁面頂端插入服務器端包含語句:

  程序代碼

  然後在表單裡面添加以下代碼:

  程序代碼

  ' 定義變量

  Dim oFCKeditor

  ' 類的初始化

  Set oFCKeditor = New FCKeditor

  ' 定義路徑(默認路徑:/FCKeditor/)

  oFCKeditor.BasePath="FCKeditor/"

  ' 定義工具條(默認為:Default)

  oFCKeditor.ToolbarSet="Basic"

  ' 定義寬度(默認寬度:100%)

  oFCKeditor.Width="100%"

  ' 定義高度(默認高度:200)

  oFCKeditor.Height=350

  ' 輸入框的初始值

  oFCKeditor.Value="這是示例文本。"

  ' 創建輸入框名為:content

  oFCKeditor.Create "content"

  這樣就在表單裡面創建了一個隱藏的名稱為content的輸入框,可以和其他表單元素一樣使用,例如用以下代碼取得該輸入框的值:

  程序代碼

  Dim content

  content=CheckStr(Request.Form("content"))

  以上用CheckStr對輸入數據進行了檢測,原始數據如果包含單引號之類的,那麼更新數據庫會出錯。

copyright © 萬盛學電腦網 all rights reserved