iT邦幫忙

0

fckeditor plugin問題

各位好,我想寫一個plugin,讓fckeditor上面多一個icon
按下icon之後執行一段我寫好得function
插入圖片跟配置plugin都沒有問題,但執行一段我寫好得code我不知道怎麼做

var oDramamyFunc = new FCKToolbarButton( 'myFunc', '插入圖片' ) ;
oDramamyFunc.IconPath = FCKConfig.PluginsPath + 'drama/drama.gif' ;

FCKToolbarItems.RegisterItem('myFunc', oDramamyFunc);

FCKCommands.RegisterCommand官網範例只有要彈出dialog的sample
但我只需要執行某段js code,希望有fckeditor高手可以解惑

1 個回答

12
fillano
iT邦超人 1 級 ‧ 2010-05-04 17:01:31
最佳解答

哪個版本的fckeditor?

我是沒寫過啦,但是你看一下他的結構大致上都是像這樣:

<pre class="c" name="code">
var FCKXXXCommand = function(){
    this.prop1 = '';
    this.prop2 = 0;
};
FCKXXXCommand.prototype.Execute = function(){
    //your code here;
};
FCKCommands.RegisterCommand('XXX', new FCKXXXCommand());
var oXXXItem = new FCKToolbarButton( 'XXX', 'Do XXX' ) ;
oFindItem.IconPath = '先省略一下';
FCKToolbarItems.RegisterItem('XXX', oXXXItem) ;

我想他利用了一個strategy pattern,所有的實際執行的code會寫在Execute,你試試看。

chan15 iT邦新手 5 級 ‧ 2010-05-04 17:08:12 檢舉

多謝fillano大大熱心的回答
我剛有寫出來了 ^^

<pre class="c" name="code">
function funcBlogAddImg() {
}

funcBlogAddImg.prototype.GetState = function() {
	return FCK_TRISTATE_OFF;
}

funcBlogAddImg.prototype.Execute = function() {
	parent.$('#btnShowLoader').trigger('click');
}

FCKCommands.RegisterCommand( 'dramaBlogAddImg' , new funcBlogAddImg() ) ;

var oDramaBlogAddImg = new FCKToolbarButton( 'dramaBlogAddImg', '插入相簿圖片' ) ;
oDramaBlogAddImg.IconPath = FCKConfig.PluginsPath + 'dramablogaddimg/add_album.gif' ;

FCKToolbarItems.RegisterItem('dramaBlogAddImg', oDramaBlogAddImg);
fillano iT邦超人 1 級 ‧ 2010-05-07 14:54:22 檢舉

廣告放在回應裡?這招厲害...有點難檢舉咧...

我要發表回答

立即登入回答