佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Js FCKeditor的值獲取和修改的代碼小結(jié)

Js FCKeditor的值獲取和修改的代碼小結(jié)

熱門標(biāo)簽:銀行業(yè)務(wù) 檢查注冊表項 美圖手機 智能手機 呼叫中心市場需求 服務(wù)器配置 網(wǎng)站文章發(fā)布 鐵路電話系統(tǒng)
利用Javascript取和設(shè)FCKeditor值也是非常容易的,如下:

// 獲取編輯器中HTML內(nèi)容
function getEditorHTMLContents(EditorName) {
var oEditor = FCKeditorAPI.GetInstance(EditorName);
return(oEditor.GetXHTML(true));
}

// 獲取編輯器中文字內(nèi)容
function getEditorTextContents(EditorName) {
var oEditor = FCKeditorAPI.GetInstance(EditorName);
return(oEditor.EditorDocument.body.innerText);
}

// 設(shè)置編輯器中內(nèi)容
function SetEditorContents(EditorName, ContentStr) {
var oEditor = FCKeditorAPI.GetInstance(EditorName) ;
oEditor.SetHTML(ContentStr) ;
}

FCKeditorAPI是FCKeditor加載后注冊的一個全局對象,利用它我們就可以完成對編輯器的各種操作。

在當(dāng)前頁獲得 FCK 編輯器實例:
var Editor = FCKeditorAPI.GetInstance('InstanceName');

從 FCK 編輯器的彈出窗口中獲得 FCK 編輯器實例:
var Editor = window.parent.InnerDialogLoaded().FCK;

從框架頁面的子框架中獲得其它子框架的 FCK 編輯器實例:
var Editor = window.FrameName.FCKeditorAPI.GetInstance('InstanceName');

從頁面彈出窗口中獲得父窗口的 FCK 編輯器實例:
var Editor = opener.FCKeditorAPI.GetInstance('InstanceName');

獲得 FCK 編輯器的內(nèi)容:
oEditor.GetXHTML(formatted); // formatted 為:true|false,表示是否按HTML格式取出
也可用:
oEditor.GetXHTML();

設(shè)置 FCK 編輯器的內(nèi)容:
oEditor.SetHTML("content", false); // 第二個參數(shù)為:true|false,是否以所見即所得方式設(shè)置其內(nèi)容。此方法常用于"設(shè)置初始值"或"表單重置"哦作。

插入內(nèi)容到 FCK 編輯器:
oEditor.InsertHtml("html"); // "html"為HTML文本

檢查 FCK 編輯器內(nèi)容是否發(fā)生變化:
oEditor.IsDirty();

在 FCK 編輯器之外調(diào)用 FCK 編輯器工具條命令:
命令列表如下:
DocProps, Templates, Link, Unlink, Anchor, BulletedList, NumberedList, About, Find, Replace, Image, Flash, SpecialChar, Smiley, Table, TableProp, TableCellProp, UniversalKey, Style, FontName, FontSize, FontFormat, Source, Preview, Save, NewPage, PageBreak, TextColor, BGColor, PasteText, PasteWord, TableInsertRow, TableDeleteRows, TableInsertColumn, TableDeleteColumns, TableInsertCell, TableDeleteCells, TableMergeCells, TableSplitCell, TableDelete, Form, Checkbox, Radio, TextField, Textarea, HiddenField, Button, Select, ImageButton, SpellCheck, FitWindow, Undo, Redo

使用方法如下:
oEditor.Commands.GetCommand('FitWindow').Execute();

= FCKConfig.BasePath + 'plugins/'
// FCKConfig.Plugins.Add( 'placeholder', 'en,it' ) ;


去掉//后,就相當(dāng)于把placeholder這個插件功能加上了,fckeditor的插件文件都在/editor/plugins/文件夾下分類按文件夾放置的,對于fckeditor2.0來說,里面有兩個文件夾,也就是有兩個官方插件,placeholder這個文件夾就是我們剛才加上去的,主要用于多參數(shù)或單參數(shù)自定義標(biāo)簽的匹配,這個在制作編輯模板時非常管用,要想看具體實例的話,大家可以去下載acms這個系統(tǒng)查看學(xué)習(xí),另一個文件夾tablecommands就是編輯器里的表格編輯用到的了。當(dāng)然,如果你想制作自己其它用途的插件,那就只要按照fckeidtor插件的制作規(guī)則制作完放置在/editor/plugins/下就行,然后再在fckeidtor.js里再添加FCKConfig.Plugins.Add('Plugin Name',',lang,lang');就可以了。

第二部分,如何讓編輯器一打開的時候,編輯工具條不出現(xiàn),等點“展開工具欄”時才出現(xiàn)?Easy,F(xiàn)CKeditor本身提供了這個功能啦,打開fckconfig.js,找到

FCKConfig.ToolbarStartExpanded = true ;
改成
FCKConfig.ToolbarStartExpanded = false ;
就可以啦!

第三部分,使用自己的表情圖標(biāo),同樣打開fckcofnig.js到最底部那一段


FCKConfig.SmileyPath = FCKConfig.BasePath + 'images/smiley/msn/' ;
FCKConfig.SmileyImages = ['regular_smile.gif','sad_smile.gif','wink_smile.gif'] ;
FCKConfig.SmileyColumns = 8 ;
FCKConfig.SmileyWindowWidth = 320 ;
FCKConfig.SmileyWindowHeight = 240 ;

上面這段已經(jīng)是我修改過的了,為了我發(fā)表此文的版面不會被撐得太開,我把FCKConfig.SmileyImages那一行改得只有三個表情圖了。

第一行,當(dāng)然是表情圖標(biāo)路徑的設(shè)置,第二行是相關(guān)表情圖標(biāo)文件名的一個List,第三行是指彈出的表情添加窗口最每行的表情數(shù),下面兩個參數(shù)是彈出的模態(tài)窗口的寬和高嘍。

第四部分,文件上傳管理部分

此部分可能是大家最為關(guān)心的,上一篇文章簡單的講了如何修改來上傳文件以及使用fckeidtor2.0才提供的快速上傳功能。再我們繼續(xù)再深層次的講解上傳功能

FCKConfig.LinkBrowser = true ;
FCKConfig.ImageBrowser = true ;
FCKConfig.FlashBrowser = true ;在fckconfig.js找到這三句,這三句不是連著的哦,只是我把他們集中到這兒來了,設(shè)置為true的意思就是允許使用fckeditor來瀏覽服務(wù)器端的文件圖像以及flash等,這個功能是你插入圖片時彈出的窗口上那個“瀏覽服務(wù)器”按鈕可以體現(xiàn)出來,如果你的編輯器只用來自己用或是只在后臺管理用,這個功能無疑很好用,因為他讓你很直觀地對服務(wù)器的文件進行上傳操作。但是如果你的系統(tǒng)要面向前臺用戶或是像blog這樣的系統(tǒng)要用的話,這個安全隱患可就大了哦。于是我們把其一律設(shè)置為false;如下

FCKConfig.LinkBrowser = false ;
FCKConfig.ImageBrowser = false ;
FCKConfig.FlashBrowser = false ;

這樣一來,我們就只有快速上傳可用了啊,好!接下來就來修改,同樣以asp為范例進行,進入/editor/filemanager/upload/asp/打開config.asp,修改
ConfigUserFilesPath = "/UserFiles/"這個設(shè)置是上傳文件的總目錄,我這里就不動了,你想改自己改了

好,再打開此目錄下的upload.asp文件,找到下面這一段


Dim resourceType
If ( Request.QueryString("Type") > "" ) Then
resourceType = Request.QueryString("Type")
Else
resourceType = "File"
End If
然后再在其后面添加


ConfigUserFilesPath = ConfigUserFilesPath resourceType "/" Year(Date()) "/" Month(Date()) "/"
這樣的話,上傳的文件就進入“/userfiles/文件類型(如image或file或flash)/年/月/”這樣的文件夾下了,這個設(shè)置對單用戶來用已經(jīng)足夠了,如果你想給多用戶系統(tǒng)用,那就這樣來改


ConfigUserFilesPath = ConfigUserFilesPath Session("username") resourceType "/" Year(Date()) "/" Month(Date()) "/"
這樣上傳的文件就進入“/userfiles/用戶目錄/文件類型/年/月/”下了,當(dāng)然如果你不想這么安排也可以修改成別的,比如說用戶目錄再深一層等,這里的Session("username")請根據(jù)自己的需要進行修改或換掉。

上傳的目錄設(shè)置完了,但是上傳程序還不會自己創(chuàng)建這些文件夾,如果不存在的話,上傳不會成功的,那么我們就得根據(jù)上面的上傳路徑的要求進行遞歸來生成目錄了。

找到這一段


Dim sServerDir
sServerDir = Server.MapPath( ConfigUserFilesPath )
If ( Right( sServerDir, 1 ) > "\" ) Then
sServerDir = sServerDir "\"
End If

把它下面的這兩行


Dim oFSO
Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" )
用下面這一段代碼來替換


dim arrPath,strTmpPath,intRow
strTmpPath = ""
arrPath = Split(sServerDir, "\")
Dim oFSO
Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" )
for intRow = 0 to Ubound(arrPath)
strTmpPath = strTmpPath arrPath(intRow) "\"
if oFSO.folderExists(strTmpPath)=false then
oFSO.CreateFolder(strTmpPath)
end if
next
用這段代碼就可以生成你想要的文件夾了,在上傳的時候自動生成。

好了,上傳文件的修改到現(xiàn)在可以暫時告一段落了,但是,對于中文用戶還存在這么個問題,就是fckeditor的文件上傳默認(rèn)是不改名的,同時還不支持中文文件名,這樣一來是上傳的文件會變成“.jpg”這樣的無法讀的文件,再就是會有重名文件,當(dāng)然重名這點倒沒什么,因為fckeditor會自動改名,會在文件名后加(1)這樣來進行標(biāo)識。但是,我們通常的習(xí)慣是讓程序自動生成不重復(fù)的文件名

在剛才那一段代碼的下面緊接著就是
' Get the uploaded file name.
sFileName = oUploader.File( "NewFile" ).Name
看清楚了,這個就是文件名啦,我們來把它改掉,當(dāng)然得有個生成文件名的函數(shù)才行,改成下面這樣

'//取得一個不重復(fù)的序號
Public Function GetNewID()
dim ranNum
dim dtNow
randomize
dtNow=Now()
ranNum=int(90000*rnd)+10000
GetNewID=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 = GetNewID() "." split(oUploader.File( "NewFile" ).Name,".")(1)

這樣一來,上傳的文件就自動改名生成如20050802122536365.jpg這樣的文件名了,是由年月日時分秒以及三位隨機數(shù)組成的文件名了
您可能感興趣的文章:
  • JS操作Fckeditor的一些常用方法(獲取、插入等)
  • JS集成fckeditor及判斷內(nèi)容是否為空的方法
  • js判斷FCKeditor內(nèi)容是否為空的兩種形式
  • FCKeditorAPI 手冊 js操作獲取等
  • fckeditor常用Js,獲取fckeditor內(nèi)容,統(tǒng)計fckeditor字?jǐn)?shù),向fckeditor寫入指定代碼
  • javascript fckeditor編輯器取值與賦值實現(xiàn)代碼
  • FCKEditor常用Js代碼,獲取FCK內(nèi)容,統(tǒng)計FCK字?jǐn)?shù),向FCK寫入指定代碼
  • FCKeditor提供了一個完整的JavaScript API
  • javascript 獲取FCKeditor內(nèi)容
  • extjs fckeditor集成代碼
  • JSP 頁面中使用FCKeditor控件(js用法)
  • jsp fckeditor 上傳中文圖片亂碼問題的解決方法
  • 使用Js獲取、插入和更改FCKeditor編輯器里的內(nèi)容

標(biāo)簽:樂山 新疆 河南 紅河 上海 滄州 沈陽 長治

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Js FCKeditor的值獲取和修改的代碼小結(jié)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    临潭县| 措美县| 石林| 东乡县| 横山县| 仪陇县| 沾化县| 石家庄市| 凤山县| 崇礼县| 南召县| 万源市| 修水县| 石家庄市| 犍为县| 武乡县| 克拉玛依市| 普安县| 井陉县| 金坛市| 湄潭县| 安宁市| 年辖:市辖区| 奉化市| 云霄县| 闽清县| 嘉鱼县| 特克斯县| 边坝县| 龙门县| 辉县市| 北辰区| 叶城县| 荣昌县| 临沭县| 凤庆县| 敖汉旗| 漳平市| 湘潭县| 东莞市| 江安县|