<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JAVA流通橋

    JAVA啟發(fā)者

    統(tǒng)計

    留言簿(3)

    AJAX相關網址

    Eclipse相關網址

    Hibernate

    java相關網址

    LINUX相關網址

    webwork相關網址

    友好鏈接

    閱讀排行榜

    評論排行榜

    實戰(zhàn)FCKeditor,添加自定義工具欄---插入代碼(一)

    打開fckeditor下的fckconfig.js文件,找到FCKConfig.ToolbarSets["Default"]和FCKConfig.ContextMenu 在他們后面加上”InsertCode”,這個當然是自己要添加的工具欄的名字了。然后,我們在“fckeditor\editor\lang\”文件夾下找到zh-cn.js,在最后一行后面加上以下2句:
    //自定義

    InsertCode:"插入代碼",

    InsertCodeProp:"插入代碼屬性"

    注意在這2句前DlgAboutInfo      : "要獲得更多信息請訪問 "后面加個逗號。當然,還可以同樣方法修改其他語言js文件,我就修改了繁體的zh.js和英文的en.js

     

        現在,我們已經定義了工具欄,開始第二大步,打開“fckeditor\editor\js\”下的fckeditorcode_gecko.js和fckeditorcode_ie.js,我們開始注冊工具欄;

    第一步:在2個文件中搜索“InsertHorizontalRule”,在后面加上“InsertCode”。

    第二步:同樣在2個文件中搜索“default:if (FCKRegexLib”,在“default”之前加上這么一句:

    Case 'InsertCode':B = new FCKDialogCommand('InsertCode' , FCKLang.InsertCode ,'dialog/InsertCode/InsertCode.htm',510,450);break;

    這句話意思就是,點擊工具欄圖標時打開InsertCode.htm文件,定義了高和寬,至于文件內容我們之后再說。

    第三步:還是在這2個文件,搜索“default:alert(FCKLang.UnknownToolbarItem”,在“default”之前加上下面一句:

    case 'InsertCode':B = new FCKToolbarButton('InsertCode' , FCKLang.InsertCode,null,null,null,null,67);

            這句話意思是定義了工具欄的圖標,FCKeditor的默認圖標文件是“fckeditor\editor\skins\default\”下的fck_strip.gif圖片,本人由于不想用重復的默認圖標,因此加了一個小圖片:

    (20*20)

    默認圖片是16*2056,用PS把畫布加長到16*2072,再把自己的小圖片放到最下面,這樣,自定義的圖片剛好排67位。以后加新功能還可以依次增加此圖片。


    好了。經過這么3步,我們已經把自定義工具欄加上去了。(在about之后,如果想加在中間,可以在剛才的第二和第三步里把添加的語句加到相應的Case前面。)

     

        做了這么多,任務算完成1/3,加油!

    下面我們開始定義“InsertCode.htm”文件:

        在“fckeditor\editor\dialog\”下新增InsertCode文件夾,新建HTM文件InsertCode.htm,里面代碼先拷貝“fckeditor\editor\dialog\fck_textfield.html”文件,好了,,大手術開始:

     

        首先,在“<title></title>”中加上“Insert Code Properties”,這個是打開的新窗體的標題;更改FCKeditor的JS文件“common/fck_dialog_common.js”的引用為“../common/fck_dialog_common.js”,再加上雙魚編輯器里的插入代碼腳本“<script src="code.js" type="text/javascript"></script>”。

    然后更改“window.onload = function()”函數,把里面的if  {}  else{}刪除掉,再把function Ok()里的代碼全部刪除,加上下面2句:

    oEditor.FCK.InsertHtml(code()) ;

        window.parent.Cancel() ;

    因為我們是更改成代碼格式的字符串加到FCKeditor編輯器里,所以用到內置的InsertHtml函數,code()函數傳過來的是字符串;至于下面的html代碼,就更改為雙魚編輯器里InsertCode.htm的代碼(這里就不提供了,本人把更改好的放上來,這里只做個簡單說明)。

        下面我們修改“code.js”文件里的代碼,把“function code()”里的

    window.returnValue = FormateCode(str,language,showLine,canCollapse,canAllCollapse,allRegion);

    window.close();

    這兩句更改為一句:

    return FormateCode(str,language,showLine,canCollapse,canAllCollapse,allRegion);

     

    好了,至此,就可以使用插入代碼功能了。(添加其他功能的時候到這一步就可以完成了。)

    完成后的編輯器圖片:
     


    看見最后一個圖片沒,這就是了,點擊后出現的圖形為:

     

     

     

    嘿,興沖沖地試了下,誒呀,怎么代碼前這么多紅XX呢?看下源代碼,原來里面的折疊圖片路徑全是錯的,這下郁悶了,試了N種方法,都沒用。無奈,最后查看FCKeditor中其他的htm文件,發(fā)現個東東:FCKConfig.BasePath,作用是取得editor文件夾的相對路徑,例如我的例子就是:“/AJAXEnabledWebSite1/FCKeditor/editor/”。好了,那現在為了得到我們存放折疊圖片的文件夾路徑,我們現在要定義一個變量,打開fckconfig.js文件,在文件最后一行之后加上這么一句:

    FCKConfig.CodePath  = FCKConfig.BasePath + 'dialog/InsertCode/codeimages/' ;

        有了圖片路徑之后,我們的繼續(xù)修改“code.js”文件:

    首先,在“function code()”前面加上下面3句:

    var oEditor = window.parent.InnerDialogLoaded() ;

    var FCKConfig = oEditor.FCKConfig ;

    var CodeImagePath   = FCKConfig.CodePath ;//得到圖片所在文件夾路徑

    搜索“PiscesTextEditor/codeimages/”,全部替換為“”(即,全部刪除。注意:是空,不是空格;)

    同樣搜索“PiscesTextEditor\/codeimages\/”,全部替換為“”

    替換好之后,我們就要用到上面的圖片所在文件夾路徑了,我們這里使用正則替換字符串。

    搜索“if (showLine) str = AddLineNumber(str);   ”,在它前面加上下面2句:

    var src = /\b(src=")\b/g;

        str = str.replace(src,'src="'+CodeImagePath);//得到正確路徑

    意思就是,把所有img控件的只有圖片名的src路徑替換為正確的相對路徑。

     

    原文標題:實戰(zhàn)FCKeditor,添加自定義工具欄---插入代碼 - EC80電子商務
    原文網址:http://ec80.cn/html/64/n-1664.html

    posted on 2008-03-10 18:49 朱巖 閱讀(891) 評論(0)  編輯  收藏 所屬分類: Fckeditor編輯器


    只有注冊用戶登錄后才能發(fā)表評論。


    網站導航:
     
    主站蜘蛛池模板: 日韩免费视频播播| 国产精品高清视亚洲一区二区| 国产成人麻豆亚洲综合无码精品| 亚洲精品无码鲁网中文电影| 久久亚洲国产精品五月天| 亚洲首页在线观看| 亚洲AV色欲色欲WWW| 国产黄片不卡免费| 精品福利一区二区三区免费视频 | 99久久亚洲精品无码毛片| 亚洲综合久久一本伊伊区| 免费精品国自产拍在线播放| 久久久久久久99精品免费观看| 成视频年人黄网站免费视频| 亚洲AV日韩精品一区二区三区| 亚洲人成电影青青在线播放| 亚洲AV无一区二区三区久久| 亚洲另类春色国产精品| 人成电影网在线观看免费| 日本精品久久久久久久久免费| 拍拍拍无挡免费视频网站| 亚洲成在人线aⅴ免费毛片| 国产午夜亚洲精品国产成人小说| 亚洲精品欧洲精品| 羞羞视频免费网站在线看| 欧美最猛性xxxxx免费| 亚洲精品乱码久久久久久按摩 | 久久精品亚洲中文字幕无码网站| 99亚偷拍自图区亚洲| 最新国产乱人伦偷精品免费网站| 成人免费视频一区| 亚洲高清视频免费| 国产高清对白在线观看免费91| 免费特级黄毛片在线成人观看 | 亚洲午夜无码久久久久| 亚洲AV色无码乱码在线观看| 美女视频黄的全免费视频| 国产精品亚洲片在线观看不卡| 色综合久久精品亚洲国产| 一二三四视频在线观看中文版免费 | 亚洲乱码在线播放|