FCKeditor的幾點(diǎn)修改小結(jié)
更新時(shí)間:2007年11月04日 12:58:52 作者:
在我的文章系統(tǒng)中,打算使用FCKeditor作為在線文本編輯器,在開發(fā)過程中,有幾個(gè)地方需要對(duì)編輯器
進(jìn)行修改,才能滿足功能設(shè)計(jì)。
一、修改默認(rèn)的上傳文件名
FCKeditor上傳文件時(shí),默認(rèn)使用客戶端的文件名,遇到重名文件,則自動(dòng)重新命名,對(duì)于中文名稱
的文件也是如此,這樣對(duì)中文支持不好的服務(wù)器和瀏覽器,就容易對(duì)中文文件名的編解碼出現(xiàn)錯(cuò)誤而導(dǎo)致
亂碼,因此需要將默認(rèn)的文件命名方法修改為以當(dāng)前日期、時(shí)間為基本要素的文件名,同時(shí),為了避免重
復(fù),還要用到隨機(jī)函數(shù)。在.NET中,可以用System.Redom.Next(min, max)來生成一個(gè)介于min和max之間
的隨機(jī)數(shù),但要注意的時(shí),System.Redom必須實(shí)例化。
此處修改需要FCKeditor的源代碼并進(jìn)行重新編譯,使用VS.net 2003打開工程文件,對(duì)Uploader.cs
文件進(jìn)行修改。
首先,將第46行string sFileName = System.IO.Path.GetFileName( oFile.FileName );注釋掉;
其次,在其下方加入如下代碼
DateTime dt = DateTime.Now;
string sFileName = dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() +
dt.Hour.ToString() + dt.Minute.ToString() + dt.Second.ToString() + dt.Millisecond + new
System.Random().Next(0, 999).ToString();
sFileName += System.IO.Path.GetExtension( oFile.FileName );
這樣,sFileName就是形如“20070510171005230010.jpg”的文件名了,并且不可能出現(xiàn)重復(fù)文件名
的現(xiàn)象。
按下組合快捷鍵Ctrl+Shift+B生成解決方案,將項(xiàng)目文件夾下的bin/Debug/FredCK.FCKeditorV2.dll
組件拷貝到網(wǎng)站根目錄下的bin目錄中,即可在網(wǎng)站工程中進(jìn)行引用了。
二、把上傳的圖片動(dòng)態(tài)加入編輯器所在頁面的下拉列表中
由于需要指定文章的標(biāo)志圖片,除了輸入以外,還應(yīng)該可以從下拉列表中選擇已經(jīng)上傳的圖片,這樣
,就必須在FCKeditor上傳完圖片時(shí),*縱編輯器所在頁面的select,并為其加入新的option。此處的關(guān)
鍵在于對(duì)靜態(tài)模式網(wǎng)頁對(duì)話框父窗口的引用,以及利用javascript加入option。
打開FCKeditor編輯器所在目錄的\editor\dialog\fck_image\fck_image.js文件,在文件上傳成功的
事件部分,加入以下代碼。
var ddl = oEditor.parent.document.Form1.ddlPicUrl;
var opt = oEditor.parent.document.createElement("OPTION")
opt.text = fileName;
opt.value= fileUrl
ddl.options.add(opt);
其中,oEditor是FCKeditor是對(duì)網(wǎng)頁對(duì)話框的父窗口的引用,而oEditor.parent就是對(duì)編輯器所在頁
面的引用了。
獲取這樣一個(gè)列表后,就可以在文章發(fā)布頁面編寫相關(guān)的javascript函數(shù),來實(shí)現(xiàn)預(yù)覽、選擇等功能
進(jìn)行修改,才能滿足功能設(shè)計(jì)。
一、修改默認(rèn)的上傳文件名
FCKeditor上傳文件時(shí),默認(rèn)使用客戶端的文件名,遇到重名文件,則自動(dòng)重新命名,對(duì)于中文名稱
的文件也是如此,這樣對(duì)中文支持不好的服務(wù)器和瀏覽器,就容易對(duì)中文文件名的編解碼出現(xiàn)錯(cuò)誤而導(dǎo)致
亂碼,因此需要將默認(rèn)的文件命名方法修改為以當(dāng)前日期、時(shí)間為基本要素的文件名,同時(shí),為了避免重
復(fù),還要用到隨機(jī)函數(shù)。在.NET中,可以用System.Redom.Next(min, max)來生成一個(gè)介于min和max之間
的隨機(jī)數(shù),但要注意的時(shí),System.Redom必須實(shí)例化。
此處修改需要FCKeditor的源代碼并進(jìn)行重新編譯,使用VS.net 2003打開工程文件,對(duì)Uploader.cs
文件進(jìn)行修改。
首先,將第46行string sFileName = System.IO.Path.GetFileName( oFile.FileName );注釋掉;
其次,在其下方加入如下代碼
DateTime dt = DateTime.Now;
string sFileName = dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() +
dt.Hour.ToString() + dt.Minute.ToString() + dt.Second.ToString() + dt.Millisecond + new
System.Random().Next(0, 999).ToString();
sFileName += System.IO.Path.GetExtension( oFile.FileName );
這樣,sFileName就是形如“20070510171005230010.jpg”的文件名了,并且不可能出現(xiàn)重復(fù)文件名
的現(xiàn)象。
按下組合快捷鍵Ctrl+Shift+B生成解決方案,將項(xiàng)目文件夾下的bin/Debug/FredCK.FCKeditorV2.dll
組件拷貝到網(wǎng)站根目錄下的bin目錄中,即可在網(wǎng)站工程中進(jìn)行引用了。
二、把上傳的圖片動(dòng)態(tài)加入編輯器所在頁面的下拉列表中
由于需要指定文章的標(biāo)志圖片,除了輸入以外,還應(yīng)該可以從下拉列表中選擇已經(jīng)上傳的圖片,這樣
,就必須在FCKeditor上傳完圖片時(shí),*縱編輯器所在頁面的select,并為其加入新的option。此處的關(guān)
鍵在于對(duì)靜態(tài)模式網(wǎng)頁對(duì)話框父窗口的引用,以及利用javascript加入option。
打開FCKeditor編輯器所在目錄的\editor\dialog\fck_image\fck_image.js文件,在文件上傳成功的
事件部分,加入以下代碼。
var ddl = oEditor.parent.document.Form1.ddlPicUrl;
var opt = oEditor.parent.document.createElement("OPTION")
opt.text = fileName;
opt.value= fileUrl
ddl.options.add(opt);
其中,oEditor是FCKeditor是對(duì)網(wǎng)頁對(duì)話框的父窗口的引用,而oEditor.parent就是對(duì)編輯器所在頁
面的引用了。
獲取這樣一個(gè)列表后,就可以在文章發(fā)布頁面編寫相關(guān)的javascript函數(shù),來實(shí)現(xiàn)預(yù)覽、選擇等功能
相關(guān)文章
百度UEditor修改右下角統(tǒng)計(jì)字?jǐn)?shù)包含html樣式
百度UEditor修改右下角統(tǒng)計(jì)字?jǐn)?shù)默認(rèn)只統(tǒng)計(jì)前臺(tái)所見的文字個(gè)數(shù),如何讓右下角統(tǒng)計(jì)字?jǐn)?shù)包含html樣式,需要的朋友可以參考下2014-07-07FCKeditor 2.6.5 ASP環(huán)境安裝配置使用說明
今天用到在線編輯器在asp環(huán)境下上傳竟然無效。找了好久才找到這介紹,現(xiàn)備份于此,需要的朋友可以參考下2012-03-03使用Js獲取、插入和更改FCKeditor編輯器里的內(nèi)容
這篇文章主要介紹了使用Js獲取、插入和更改FCKeditor編輯器里的內(nèi)容,包括JS操作Fckeditor的一些常用方法,需要的朋友可以參考下2020-02-02ckeditor syntaxhighlighter代碼高亮插件配置分享
現(xiàn)在大家可以不必像我這樣為了實(shí)現(xiàn)代碼高亮的功能,去修改ckeditor編輯器,大家可以去使用百度編輯器(Ueditor)他有代碼高亮的功能,還蠻好用的,我的個(gè)人網(wǎng)站就是的百度編輯器的。歡迎大家去我的博客看看2014-12-12解決SyntaxHighlighter 代碼高亮不換行問題的解決方法
用SyntaxHighlighter 語法高亮插件的朋友可能都遇到過代碼顯示不換行的問題,這個(gè)問題在網(wǎng)上也找不到什么解決辦法,一直困擾了我很久,今天算是把它解決了,辦法其實(shí)簡單,下面說下如何解決2014-11-11fckeditor在php中的用法(添加于修改寫成了函數(shù))
這里就不多說了,看代碼。后面有說明。2009-12-12fckeditor編輯器下的自定義分頁符實(shí)現(xiàn)方法
今天在開發(fā)后臺(tái)的時(shí)候需要用到自定義的分頁符,發(fā)現(xiàn)fckeditor編輯器下默認(rèn)的符號(hào)不好,dedecms也修改為自定義的,防止沖突2014-06-06