最新版CKEditor的配置方法及插件(Plugin)編寫示例
FCKEditor重寫了js框架,并改名為CKEditor。第一次在CKEditor網(wǎng)站上看到demo界面,就被CKEditor友好的界面和強(qiáng)大的功能所震撼。毫無疑問,CKEditor是當(dāng)前互聯(lián)網(wǎng)上最優(yōu)秀的開源多媒體HTML編輯器。
本文記錄配置CKEditor過程,并以文章分頁插件為例,簡要CKEditor Plugin編寫過程。 從官網(wǎng)http://ckeditor.com/download下載最新版CKEditor,解壓。
1. 調(diào)用CKEditor方法
在頁面里加載核心js文件:<script type="text/javascript" src="ckeditor/ckeditor.js"></script>,按常規(guī)方式放置textarea,如:< textarea id="editor1″ name="editor1″ rows="10" cols="80">初始化html內(nèi)容</textarea>
然后在textarea后面寫js:<script type="text/javascript">CKEDITOR.replace('editor1');</script>
其他調(diào)用方式可參考 _samples 目錄下的示例。
2. 配置個性化工具欄
ckeditor默認(rèn)的工具欄中很多不常用,或者相對中文來說不適用??赏ㄟ^配置默認(rèn)工具欄方式實(shí)現(xiàn),最簡潔的方法是直接修改配置文件 config.js 我的config.js內(nèi)容如下:
CKEDITOR.editorConfig = function( config ) { // Define changes to default configuration here. For example: // config.language = 'fr'; config.uiColor = '#ddd'; config.toolbar = 'Cms'; config.toolbar_Cms = [ ['Source','-'], ['Cut','Copy','Paste','PasteText','PasteFromWord','-'], ['Undo','Redo','-','Find','Replace','RemoveFormat'],['Link','Unlink','Anchor'], ['Image','Flash','Table','HorizontalRule', '-'],['Maximize'], '/', ['Bold','Italic','Underline','Strike','-'], ['FontSize'],['TextColor','BGColor'], ['NumberedList','BulletedList','-','Outdent','Indent','pre'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], ['PageBreak', 'Page'] ]; config.filebrowserUploadUrl = '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files'; config.fontSize_sizes = '10/10px;12/12px;14/14px;16/16px;18/18px;20/20px;22/22px;24/24px;28/28px;32/32px;48/48px;'; config.extraPlugins = 'apage'; };
3. 將編輯器內(nèi)文字修改為14px (默認(rèn)12px,對中文顯示不太好看)
1)可視化編輯里默認(rèn)字體大?。盒薷母夸浵?contents.css,將body中font-size: 12px改為 font-size: 14px
2)源代碼視圖字體大?。盒薷膕kins\kama\editor.css,在最后加一句:.cke_skin_kama textarea.cke_source { font-size:14px; }
4. 插件編寫流程和實(shí)例代碼
1) 在plugins目錄新建文件夾apage,在apage下新建文件:plugin.js 內(nèi)容如下:
CKEDITOR.plugins.add( 'apage', { init : function( editor ) { // Add the link and unlink buttons. editor.addCommand( 'apage', new CKEDITOR.dialogCommand( 'apage' ) ); editor.ui.addButton( 'Page', { //label : editor.lang.link.toolbar, label : “Page", //icon: 'images/anchor.gif', command : 'apage' } ); //CKEDITOR.dialog.add( 'link', this.path + 'dialogs/link.js' ); CKEDITOR.dialog.add( 'apage', function( editor ) { return { title : '文章分頁', minWidth : 350, minHeight : 100, contents : [ { id : 'tab1', label : 'First Tab', title : 'First Tab', elements : [ { id : 'pagetitle', type : 'text', label : '請輸入下一頁文章標(biāo)題<br />(不輸入默認(rèn)使用當(dāng)前標(biāo)題+數(shù)字形式)' } ] } ], onOk : function() { editor.insertHtml("[page="+this.getValueOf( 'tab1', 'pagetitle' )+"]“); } }; } ); }, requires : [ 'fakeobjects' ] } );
2)在toolbar中加一項(xiàng)Page,并在配置中聲明添加擴(kuò)展插件 config.extraPlugins = 'apage'; 有兩種方法實(shí)現(xiàn),方法一是直接在config.js中添加,示例本文上面的config.js示例代碼; 方法二:在引用CKEditor的地方加配置參數(shù),如:
CKEDITOR.replace( 'editor1', { extraPlugins : 'examenLink', toolbar : [ ['Undo','Redo','-','Cut','Copy','Paste'], ['ExamenLink','Bold','Italic','Underline',], ['Link','Unlink','Anchor','-','Source'],['Page'] ] });
此時(shí)你應(yīng)該看到編輯器里多了一個空白的按鈕了。
解決空白按鈕的方法有二:
方法1:修改插件代碼,plugin,將icon定義為一個存在的圖標(biāo)。
方法2:讓編輯顯示Label的文字。需要加在放編輯器的頁面里加css(注意:cke_button_apage的名稱與實(shí)際保持一致。)
<style type="text/css"> .cke_button_apage .cke_icon { display : none !important; } .cke_button_apage .cke_label { display : inline !important; } </style>
如果你的分頁只需要插入一個分頁符,不需要像本文需要填寫標(biāo)題,那更簡單,只需要修改插件代碼即可。請?jiān)诩t麥軟件團(tuán)隊(duì)wiki上查看本文提到的所有代碼: http://www.teamwiki.cn/js/ckeditor_config_plugin
CKEditor 配置及插件編寫示例
CKEditor 配置
config.js
CKEDITOR.editorConfig = function( config ) { // Define changes to default configuration here. For example: // config.language = 'fr'; config.uiColor = '#ddd'; config.toolbar = 'Cms'; config.toolbar_Cms = [ ['Source','-'], ['Cut','Copy','Paste','PasteText','PasteFromWord','-'], ['Undo','Redo','-','Find','Replace','RemoveFormat'],['Link','Unlink','Anchor'], ['Image','Flash','Table','HorizontalRule', '-'],['Maximize'], '/', ['Bold','Italic','Underline','Strike','-'], ['FontSize'],['TextColor','BGColor'], ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], ['PageBreak','-','Page'] ]; config.filebrowserUploadUrl = '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files'; config.fontSize_sizes = '10/10px;12/12px;14/14px;16/16px;18/18px;20/20px;22/22px;24/24px;28/28px;32/32px;48/48px;'; config.extraPlugins = 'apage'; };
CKEditor 分頁插件1:到提示輸入下一頁文章標(biāo)題
CKEDITOR.plugins.add( 'apage', { init : function( editor ) { // Add the link and unlink buttons. editor.addCommand( 'apage', new CKEDITOR.dialogCommand( 'apage' ) ); editor.ui.addButton( 'Page', { //label : editor.lang.link.toolbar, label : "Page", //icon: 'images/anchor.gif', command : 'apage' } ); //CKEDITOR.dialog.add( 'link', this.path + 'dialogs/link.js' ); CKEDITOR.dialog.add( 'apage', function( editor ) { return { title : '文章分頁', minWidth : 350, minHeight : 100, contents : [ { id : 'tab1', label : 'First Tab', title : 'First Tab', elements : [ { id : 'pagetitle', type : 'text', label : '請輸入下一頁文章標(biāo)題<br />(不輸入默認(rèn)使用當(dāng)前標(biāo)題+數(shù)字形式)' } ] } ], onOk : function() { editor.insertHtml("[page="+this.getValueOf( 'tab1', 'pagetitle' )+"]"); } }; } ); }, requires : [ 'fakeobjects' ] } );
CKEditor 分頁插件2:直接插入分頁符
因?yàn)榫庉嬈鞯哪J(rèn)轉(zhuǎn)碼,使用過程中需要將『page』中的『』去掉。
CKEDITOR.plugins.add( 'apage', { var cmd = { exec:function(editor){ editor.insertHtml("[[『page』]]"); } } init : function( editor ) { // Add the link and unlink buttons. editor.addCommand( 'apage', cmd ); editor.ui.addButton( 'Page', { //label : editor.lang.link.toolbar, label : "Page", //icon: 'images/anchor.gif', command : 'apage' } ); }, requires : [ 'fakeobjects' ] } );
上一篇:解決FCKEditor在IE10、IE11下的不兼容問題
欄 目:網(wǎng)頁編輯器
下一篇:百度ueditor組件上傳圖片后如何設(shè)置img里的alt屬性
本文標(biāo)題:最新版CKEditor的配置方法及插件(Plugin)編寫示例
本文地址:http://mengdiqiu.com.cn/a1/wangyebianjiqi/11791.html
您可能感興趣的文章
- 01-11關(guān)于jsp版ueditor1.2.5的部分問題解決(上傳圖片失敗)
- 01-11針對PHP環(huán)境下Fckeditor編輯器上傳圖片配置詳細(xì)教程
- 01-11UEditor 編輯器跨域上傳解決方法
- 01-11UEditor編輯器自定義上傳圖片或文件路徑的修改方法
- 01-11ckeditor插件開發(fā)簡單實(shí)例
- 01-11CKEditor 取消轉(zhuǎn)義的兩種方法
- 01-11使用ZeroClipboard解決跨瀏覽器復(fù)制到剪貼板的問題
- 01-11為SyntaxHighlighter添加新語言的方法
- 01-11FCKeditor + SyntaxHighlighter 讓代碼高亮著色插件
- 01-11syntaxhighlighter 去掉右上角問號圖標(biāo)的三種方法


閱讀排行
本欄相關(guān)
- 01-11針對PHP環(huán)境下Fckeditor編輯器上傳圖片
- 01-11關(guān)于jsp版ueditor1.2.5的部分問題解決(上
- 01-11UEditor編輯器自定義上傳圖片或文件路
- 01-11UEditor 編輯器跨域上傳解決方法
- 01-11免費(fèi)開源百度編輯器(UEditor)使用方法
- 01-11ckeditor插件開發(fā)簡單實(shí)例
- 01-11使用ZeroClipboard解決跨瀏覽器復(fù)制到剪
- 01-11CKEditor 取消轉(zhuǎn)義的兩種方法
- 01-11FCKeditor + SyntaxHighlighter 讓代碼高亮著
- 01-11為SyntaxHighlighter添加新語言的方法