小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

給FCKeditor添加自定義按鈕的方法

 Long_way 2007-09-19
給FCKeditor添加自定義按鈕的方法
還思 于7個(gè)月前,點(diǎn)擊735次,評(píng)論1篇
FCKeditor是一款非常流行的WEB可視化編輯器,其程序的的成熟度也非常高、功能豐富,但是再豐富也無法完全滿足我們的實(shí)際要求,有時(shí)我們還是需要增加一些自己的功能。但FCKeditor的程序結(jié)構(gòu)還是比較復(fù)雜的,對(duì)JS不是很了解的人很難對(duì)其靈活定制,本文就如何為FCKeditor的工具條增加一個(gè)打開我的像冊(cè)的自定義按鈕做一介紹。

先看看效果:

為FCKeditor添加完全自定義功能的按鈕

增加按鈕有以下幾步:


1、為按鈕增加圖片:
FCK的所有按鈕圖片是存放在一個(gè)圖片文件里的,這一點(diǎn)比較獨(dú)特,文件存放在相應(yīng)皮膚目錄下,如:/FCK/skins/silever/fck_strip.gif。通過Fireworks或Phtoshop打開該文件可以發(fā)現(xiàn)一個(gè)很長的圖片,里面包含所有按鈕的圖片,現(xiàn)在您可以在該圖片的最下面增加您自定義的按鈕,注意,每個(gè)按鈕的尺寸是16*16px。

2、為按鈕增加功能代碼:
增加按鈕需要對(duì)FCK/editor/js目錄中的兩個(gè)核心文件進(jìn)行修改:fckeditorcode_gecko.js和fckeditorcode_ie.js,前者是使用于gecko核心的瀏覽器如Firefox等,而后者應(yīng)用于以IE為核心的瀏覽器如MyIE(傲游)等,這兩個(gè)文件大體是相似的,僅有微小差別,在此我們基本無須擔(dān)心。
修改的方法非常簡單,基本是一個(gè)照葫蘆畫瓢的過程,首先我們找一個(gè)與我們將要添加的按鈕功能相似的一個(gè)按鈕,這里我們選擇了Newpage,這是一個(gè)清空編輯器以備新建一個(gè)文件的按鈕。首先我們修改fckeditorcode_ie.js,fckeditorcode_gecko.js直接復(fù)制更改的代碼就可以了。

打開fckeditorcode_ie.js,這里需要說明的是,fckeditorcode_ie.js是多個(gè)文件合并經(jīng)過代碼優(yōu)化的(即去掉了大部分換行、空格、注釋等)不是很容易閱讀,而且這樣一百多K的JS文件用Dreamweaver、ZDE等工具打開后CPU立刻升至100%,相信計(jì)算機(jī)就變成癡呆一樣了,經(jīng)過一翻比較,發(fā)現(xiàn)曾被我認(rèn)為一文不值的Golive竟然可以輕松打開該文件并快速編輯!不管你用什么軟件反正能打開并編輯就行了。以關(guān)鍵詞Newpage進(jìn)行查找,你會(huì)發(fā)現(xiàn)一個(gè)按鈕的功能定義分三大部分:

A、功能原型
// 按鈕功能原型
var FCKNewPageCommand=function(){this.Name='NewPage';};
FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');FCKUndo.Typing=true;};
FCKNewPageCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};

var FCKMyAlbumCommand=function(){this.Name='DISPLAY: none';};
FCKMyAlbumCommand.prototype.Execute=function(){if(typeof(parent.showMyAlbum)=="function"){parent.showMyAlbum(FCK);}else{alert(FCKLang.NoAlbum);}};
FCKMyAlbumCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};

B、功能的實(shí)例化
case 'NewPage':B=new FCKNewPageCommand();break;
case 'MyAlbum':B=new FCKMyAlbumCommand();break;

C、按鈕的顯示
case 'NewPage':B=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true,null,4);break;
case 'MyAlbum':B=new FCKToolbarButton('MyAlbum',FCKLang.MyAlbum,null,null,true,null,67);break;

上面代碼中第一部分是Newpage的原代碼,后一部分是我們自定義的代碼,您一看應(yīng)該明白怎么回事了吧?僅紅色部分和名稱不同而已!而紅色部分就是我們的自定義功能。
FCKLang是語言包對(duì)象,您只要打開FCK/editor/lang/下面的相應(yīng)語言包添加相應(yīng)的名稱屬性就可以了,比如:MyAlbum打開我的像冊(cè)。注意大小寫!至此我們的添加工作已完成。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多