分享

CKEditor 3.6 入门二

 hyzt 2014-06-20

配置CKEditor

 

    主要有三种方式配置CKEditor,可以在 CKEditor APICKEDITOR.config 部分查看所有可配置选项。

 

一、在页面中配置

    在页面中进行配置是CKEditor官方推荐的方式,这样可以避免修改CKEditor原始的配置文件,使得应用进行升级时更加便捷。可以在任意的创建CKEditor实例的方法中对其进行配置,如CKEDITOR.replaceCKEDITOR.appendTo

 

Js代码  收藏代码
  1. CKEDITOR.replace( 'editor1',  
  2.     {  
  3.         toolbar : 'Basic',  
  4.         uiColor : '#9AB8F3'  
  5.     });  

 

二、在config.js中配置

    默认情况下,这个文件基本是空的,可以在这个文件中进行你所需配置,如:

 

Js代码  收藏代码
  1. CKEDITOR.editorConfig = function( config )  
  2. {  
  3.     config.language = 'fr';  
  4.     config.uiColor = '#AADC6E';  
  5. };  

 

三、自定义配置文件

    若不想更改config.js文件,CKEditor 也允许用户自定义自己的配置文件。在任意位置创建一份config.js的拷贝,如在根目录下创建一个名为“custom”的文件夹,将config.js文件拷贝至此文件夹,并重命名为“ckeditor_config.js ”,这样,在创建CKEditor实例时,就可以指定此文件为CKEditor的配置文件:

 

Js代码  收藏代码
  1. CKEDITOR.replace( 'editor1',  
  2.     {  
  3.         customConfig : '/custom/ckeditor_config.js'  
  4.     });  
 

定义工具栏

 

    CKEditor提供了许多工具栏按钮,可以根据需要自由选择所需的部分。或使用 CKEditor 提供的两种的工具栏风格:

 

Js代码  收藏代码
  1. config.toolbar = 'Full';  
  2.    
  3. config.toolbar_Full =  
  4. [  
  5.     ['Source','-','Save','NewPage','Preview','-','Templates'],  
  6.     ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker', 'Scayt'],  
  7.     ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],  
  8.     ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'],  
  9.     '/',  
  10.     ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],  
  11.     ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'],  
  12.     ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],  
  13.     ['BidiLtr', 'BidiRtl'],  
  14.     ['Link','Unlink','Anchor'],  
  15.     ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe'],  
  16.     '/',  
  17.     ['Styles','Format','Font','FontSize'],  
  18.     ['TextColor','BGColor'],  
  19.     ['Maximize', 'ShowBlocks','-','About']  
  20. ];  
  21.    
  22. config.toolbar_Basic =  
  23. [  
  24.     ['Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink','-','About']  
  25. ];  
 

若想自定义工具栏按钮,可在config.js配置如下片段:

 

Js代码  收藏代码
  1. CKEDITOR.editorConfig = function( config )  
  2. {  
  3.     config.toolbar = 'MyToolbar';  
  4.    
  5.     config.toolbar_MyToolbar =  
  6.     [  
  7.         ['NewPage','Preview'],  
  8.         ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Scayt'],  
  9.         ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],  
  10.         ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'],  
  11.         '/',  
  12.         ['Styles','Format'],  
  13.         ['Bold','Italic','Strike'],  
  14.         ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],  
  15.         ['Link','Unlink','Anchor'],  
  16.         ['Maximize','-','About']  
  17.     ];  
  18. };  
 

若应用中定义了多种工具栏风格,可在创建CKEditor实例时,为其指定一种:

 

Js代码  收藏代码
  1. CKEDITOR.replace( 'editor1',  
  2.     {  
  3.         toolbar : 'MyToolbar'  
  4.     });  
  5.    
  6. CKEDITOR.replace( 'editor2',  
  7.     {  
  8.         toolbar : 'Basic'  
  9.     });  
 

你也可以在创建实例时,直接为其定义工具栏选项:

 

Js代码  收藏代码
  1. CKEDITOR.replace( 'editor1',  
  2.     {  
  3.         toolbar :  
  4.         [  
  5.             ['Styles', 'Format'],  
  6.             ['Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', '-', 'About']  
  7.         ]  
  8.     });  
 

样式

 

    我们可以自定义CKEditor工具栏中“样式”下拉列表的内容,CKEditor提供了许多默认的样式,默认的样式列表定义在“plugins/styles/styles/default.js”文件中。可以通过如下形式定义自己的样式列表,并将其注册到 CKEditor中

 

Js代码  收藏代码
  1. CKEDITOR.stylesSet.add( 'my_styles',  
  2. [  
  3.     // Block-level styles  
  4.     { name : 'Blue Title', element : 'h2', styles : { 'color' : 'Blue' } },  
  5.     { name : 'Red Title' , element : 'h3', styles : { 'color' : 'Red' } },  
  6.    
  7.     // Inline styles  
  8.     { name : 'CSS Style', element : 'span', attributes : { 'class' : 'my_style' } },  
  9.     { name : 'Marker: Yellow', element : 'span', styles : { 'background-color' : 'Yellow' } }  
  10.     // Object styles  
  11.     { name : 'A Style', element : 'a', attributes : { 'color':'#000','text-decoration':'none' } },  
  12.  ]);  
 

其中,“my_styles”是自定义样式的名称,必须是唯一的。定义好之后,就可以通知CKEditor实例使用这个样式了:

 

Java代码  收藏代码
  1. config.stylesSet = 'my_styles';  

 

    自定义的样式可以配置在config.js中、CKEditor实例的jsp页面,或者一个单独的文件,甚至一个已知的URL中,可以通过如下形式指定它的位置:

 

Java代码  收藏代码
  1. config.stylesSet = 'my_styles:/styles.js';  
  2.    
  3. OR  
  4.    
  5. config.stylesSet = 'my_styles:http://www./styles.js';  
 

    一条自定义的样式包括:name、element、 attributes,和CSS样式的定义,如:

 

Js代码  收藏代码
  1. {  
  2.     name : '在样式下拉列表中显示的名称',  
  3.     element : 'HTML元素的名称 (如 "span")',  
  4.     styles :  
  5.     {  
  6.         'css-style1' : 'desired value',  
  7.         'css-style2' : 'desired value',  
  8.         ...  
  9.     }  
  10.     attributes :  
  11.     {  
  12.         'attribute-name1' : 'desired value',  
  13.         'attribute-name2' : 'desired value',  
  14.         ...  
  15.     }  
  16. }  
 

其中,nameelement元素是必选的,其它是可选的。

 

    CKEditor有三种级别的元素样式,分别是:

 

Block-level styles(块级元素样式) – 应用于文本块(段落)。适用于以下元素 These apply to the following elements: address , div , h1 , h2 , h3 , h4 , h5 , h6 , p , and pre .

 

Object styles(对象元素样式) – 应用于特殊的可被选择的对象(不是文本),当一个对象被选中之后才被显示。适用于以下对象: a , embed , hr , img , li , object , ol , table , td , tr and ul .

 

Inline styles(内联元素样式) – 用于扩展被选中的文本样式。

 

 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多