FCKeditor2.4設定(asp)

來源:互聯網
上載者:User
 

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檔案:
editor\filemanager\browser\default\connectors\asp\config.asp

ConfigIsEnabled = False          表示檔案瀏覽關閉
editor\filemanager\upload\asp\config.asp

ConfigIsEnabled = True           表示檔案快速上傳開啟

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

檔案瀏覽路徑,開啟檔案editor\filemanager\browser\default\connectors\asp\config.asp
ConfigUserFilesPath = "/attachments/"

快速上傳的路徑,開啟檔案editor\filemanager\upload\asp\config.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不支援中文檔案名稱,所以我們要讓檔案存入伺服器時更改名稱。由於有兩個上傳的地方,而且所用檔案不同,所以兩個檔案應該同時改,我們先來看看快速上傳的檔案,開啟editor\filemanager\upload\asp\upload.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,".")

上面說的是快速上傳的檔案,而檔案瀏覽中上傳則是更改另外一個檔案(editor\filemanager\browser\default\connectors\asp\commands.asp),其修改方法和上面那個檔案一樣:添加一個函數,修改一行代碼。

4、在ASP來源程式中引用FCKeditor編輯器
首先在asp頁面頂端插入伺服器端包含語句:

<!--#include file="FCKeditor/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對輸入資料進行了檢測,未經處理資料如果包含單引號之類的,那麼更新資料庫會出錯。 

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

  開啟fckeditor.asp檔案,找到 sBasePath = "/fckeditor/"改為 sBasePath = "/"
  開啟fckeditor.js檔案,找到 this.BasePath = '/fckeditor/' ;改為 this.BasePath = '/' ;
*******************************************************************************************************官方:http://www.fckeditor.net/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.