`

CKEDITOR使用与配置

阅读更多
http://www.cnblogs.com/Fskjb/archive/2009/11/16/1603461.html

安装:  下载CKEDITOR的文件,解压后复制到工程的WEBROOT目录下就OK!

引用CKEDITOR的JS文件:

  新建JSP页面,添加其JS文件<script type="text/javascript" src="ckeditor/ckeditor.js"></script>

  注意:1.src的路径。

     2.不要写成<script type="text/javascript" src="ckeditor/ckeditor.js />样式,在现有的3.0.1版本中会出现CKEDITOR未定义的脚本错误提示,致使不能生成编辑器。

替换TEXTAREA标签:
<textarea rows="30" cols="50" name="editor01">请输入.</textarea>
<script type="text/javascript">CKEDITOR.replace('editor01');</script>


注意:要在textarea后面加入javascript.如果要在HEAD区写javasript,那么采用如下代码:

<script type="text/javascript">
    window.onload = function()
    {
        CKEDITOR.replace( 'editor01' );
    };
</script>


好了到此一个默认的CKEDITOR就配置完毕了,可以去页面看看它的模样了。

当然还有一个方法CKEDITOR.appendTo(elementOrId, config) 它可以在特定的dom对象中创建CKEDITOR

<div id="editorSpace"><:/div>

CKEDITOR.appendTo( 'editorSpace' );


属性配置:

所有的配置,都可以查阅官方的API:

版本3
http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html
版本4
http://docs.ckeditor.com/#!/api/CKEDITOR.config

IN-PAGE配置方式:
The best way to set your configurations is in-page, when creating editor instances. In this way you avoid touching the original distribution files in the CKEditor installation folder, making the upgrade task easier.

最好在创建编辑器的页面中配置你的编辑器属性,使用这种方式,你无需理会在CKEDITOR安装目录中的配置文件(ps:in-page的优先级最高)
CKEDITOR.replace( 'editor1',
    {
        toolbar : 'Basic',
        uiColor : '#9AB8F3'
    });

注意:合法的属性是以“{”开始,“}”"结束,属性名和属性值用“:”隔离.



默认属性文件配置方式:
You can also place your settings inside the config.js file also. You will note that the file is mostly empty by default. You simply need to add the configurations that you want to change. For example:

你也可以在config.js 中加入配置信息,当你打开该文件时你会发觉它几乎为空(默认)。你要做的是把配置信息加入其中。

CKEDITOR.editorConfig = function( config )
{
    config.language = 'fr';
    config.uiColor = '#AADC6E';
};



自定义属性文件配置方式:

Suppose you have copied config,js inside a folder named "custom" in the root of your web site. You have also renamed the file to "ckeditor_config.js". At that point, you must only set the customConfig setting when creating the editor instances. For example: 

CKEDITOR.replace( 'editor1',
    {
        customConfig : '/custom/ckeditor_config.js'
    });


假设你在custom目录中有一自定义的配置文件ckeditor_config.js,那么就必须在创建ckeditor实例时制定它的路径(用customConfig属性)。



Configurations Overload Order 配置的优先级

You're not required to use only one of the above configuration options. You can mix all of them, and the configurations will be overloaded properly. The following is configurations loading order when creating an editor instance:

你不必仅使用上面的一种方式进行配置,而是可以混合使用它们,这些配置会以特定的优先级顺序进行复写。

1.The editor instance is created. At this point all its default configurations are set.

编辑器创建的那一瞬间,会加载默认的配置信息。
2.If the customConfig setting has been set "in-page", that file is loaded, otherwise the default config.js file is loaded. All settings in this file override the current instance settings.

这时,如果系统发现我们制定了一个自定义的配置文件,那么就会加载它,否则就会加载默认的配置文件。加载的该文件的属性将会复写当前实例的属性。

3.If the settings loaded in point "2" also define a new customConfig value, this new file is loaded and its settings overload the current instance settings. This happens recursively for all files until no customConfig is defined.

如果在自定义的文件中有加入新的其它自定义文件,那么新的文件会复写当前实例的属性。这样一直循环递归,知道没有新为自定义文件为止。

4.Finally the settings defined "in-page" override the current instance settings (except customConfig, which has been used at point "1").

最后行内的属性(除了customConfig)将复习当前实例的属性。


Avoiding Loading External Settings Files
It is also possible to completely avoid loading an external configuration file, reducing the number of files loaded. To do that, it's enough to set the customConfig setting to an empty string. For example:

CKEDITOR.replace( 'editor1', {customConfig : ''});


This setting is definitely recommende
d if you are not setting configurations in the config.js file nor a custom configuration file.

这段就不翻译了,so,easy!



配置个性化工具栏:


A toolbar definition is a JavaScript array that contains the elements to be displayed in all "toolbar rows" available in the editor. There are two ways to set the desired toolbar definition in the editor. It can be set directly into the "toolbar" setting, or it can instead be set to a configuration named "toolbar_<name>", where "<name>" is a name that can be used to identify the toolbar in the "toolbar" setting. The following is the default setting we have in the editor.

上面的英文太罗嗦了说重点算了:工具栏是通过数组来设定的,工具栏的名字以toolbar_<name>的方式命名,其中的<name>是用来赋值给config.toolbar这一变量的。

那么以下代码定义了toolbar_Full和toolbar_Basic的两种工具栏配置,并使用了config.toolbar = 'Full';定义当前的编辑器的工具栏为Full。

其中("-") 为空间栏的水平分割,("/") 为换行。

config.toolbar = 'Full';

config.toolbar_Full =
[
    ['Source','-','Save','NewPage','Preview','-','Templates'],
    ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker', 'Scayt'],
    ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
    ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'],
    '/',
    ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
    ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
    ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
    ['Link','Unlink','Anchor'],
    ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'],
    '/',
    ['Styles','Format','Font','FontSize'],
    ['TextColor','BGColor'],
    ['Maximize', 'ShowBlocks','-','About']
];

config.toolbar_Basic =
[
    ['Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink','-','About']
];


Note that two toolbar definitions have been defined, one named "Full" and the other "Basic". The "Full" definition has been set to be used in the toolbar setting.



You can create as many toolbar definitions as you want inside the configuration file. Later, based on some criteria, you can decide the toolbar to use for each editor instance. For example, with the following code, two editors are created in the page, each one using a different toolbar:

你也可以根据您的需要在配置文件中建立多个工具栏的定义,然后,可以根据特定条件,决定使用哪个定义。

CKEDITOR.replace( 'editor1', {toolbar : 'MyToolbar'});
CKEDITOR.replace( 'editor2', {toolbar : 'Basic'});


It's also possible to set the toolbar definition in-page, when creating the editor instance directly. In that case, just assign it to the toolbar setting directly, for example:

也可以通过IN-PAGE的方式定义工具栏参数。

CodeCKEDITOR.replace( 'editor1',{
toolbar :[            
            ['Styles', 'Format'],            
            ['Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', '-', 'About'] 
]    
});


The Styles Definition

The styles definition is a JavaScript array which is registered by calling the CKEDITOR.addStylesSet() function. A unique name must be assigned to your style definition, so you can later set each editor instance to load it. It means that you can have a single style definition which is shared by several editor instances present on the page.

The following is a sample style definition registration:

通过CKEDITOR.addStylesSet() 函数,我们可以定义一个样式,结合以下的例子,my_styles为样式的名称,具体的样式为一个JAVASCRIPT数组。通过样式的名称我可以让页面的多个编辑器应用该样式。

CKEDITOR.addStylesSet( 'my_styles',
[// Block Styles   
    {name:'Blue Title',element:'h2',styles:{'color' : 'Blue'}},    
    {name:'Red Title',element:'h3',styles:{ 'color' : 'Red' }},    
 // Inline Styles    
    {name:'CSS Style',element:'span',attributes:{'class':'my_style'}},    
    {name:'Marker:Yellow',element:'span',styles:{'background-color':'Yellow'}}
]
);


The above definition registration can be placed inline in the page using the editor, or can even live in an external file, which is loaded "on demand", when needed only (see below).

样式可以通过IN-PAGE或配置文件中进行注册。

After that, you must instruct the editor to use your newly registered style definition by using the stylesCombo_stylesSet setting. This may be set into the config.js file, for example:

你可以通过在config.js 加入以下代码使编辑器应用该样式:

config.stylesCombo_stylesSet = 'my_styles'; 


Using an External Styles Definition File 使用自定义的样式文件
You can include the above styles definition registration call into an external JavaScript file. This is the preferred way for it because it will be loaded only when opening the Styles selection box, enhancing the page loading performance. Users may feel a small loading gap because of it though.

By default, the editor uses the "plugins/stylescombo/styles/default.js" file, which is a "minified" JavaScript file. You can find the uncompressed version of it at "_source/plugins/stylescombo/styles/default.js". You can see it online at our SVN also: http://svn.fckeditor.net/CKEditor/trunk/_source/plugins/stylescombo/styles/default.js. It can be used as a template for your custom file.

Your style definition file can be saved anywhere at your web site (or the web). You must just know the URL to reach it. For example, you can save at it at the root of your web site, so you can reach it with "/styles.js", or even place it in a central web site, so you can locate it with "http://www.example.com/styles.js". At that point, simply change the stylesCombo_stylesSet setting to point the editor to your file:

默认的样式文件在"_source/plugins/stylescombo/styles/default.js"目录中,我们也可以自己定义一个样式文件,如在站点的跟目录中有styles.js这一个样式文件,这个文件通过以下代码指定其路径:

config.stylesCombo_stylesSet = 'my_styles:/styles.js';ORconfig.stylesCombo_stylesSet = 'my_styles:http://www.example.com/styles.js';Style Rules 


The entries inside a style definition are called "style rules". Each rule defines the display name for a single style as well as the element, attributes and css styles to be used for it. The following is the generic representation for it:

{
name:'Display name',
element:'tag name(for example "span")',
styles:{'css-style1':'desired value','css-style2':'desired value',}    
attributes:{'attribute-name1':'desired value','attribute-name2':'desired value',}
}


The "name" and "element" values are required, while other values are optional.



Style Types

There are three types of style types, each one related to the element used in the style rule:

•Block styles: applied to the text blocks (paragraphs) as a whole, not limited to the text selection. The elements values for that are: address, div, h1, h2, h3, h4, h5, h6, p and pre.
•Object styles: applied to special selectable objects (not textual), whenever such selection is supported by the browser. The elements values for that are: a, embed, hr, img, li, object, ol, table, td, tr and ul.
•Inline styles: applied to text selections for style rules using elements not defined in the other style types.


Output Formatting
The HTML Writer

这个是用来对各种标签的排版进行设定的

Technically speaking, writing the final output is a task executed by the CKEDITOR.htmlWriter class ("writer"), used by the CKEDITOR.htmlDataProcessor class. Therefore, the current writer instance for a specific editor instance can be retrieved by the <editorInstance>.dataProcessor.writer property.

By setting the writer properties, it's possible to configure several output formatting options. The following example is the best way to summarize the most used of them, with their default values:

var writer = editor.dataProcessor.write;
// The character sequence to use for every indentation step.
writer.indentationChars = '\t';
// The way to close self closing tags, like <br />.
writer.selfClosingEnd = ' />';
// The character sequence to be used for line breaks.
writer.lineBreakChars = '\n';
// Set writing rules for the <p> tag.
writer.setRules( 'p',    {        
// Indicates that this tag causes indentation on line breaks inside of it.        
indent : true,        
// Insert a line break before the <p> tag.        
breakBeforeOpen : true,        
// Insert a line break after the <p> tag.        
breakAfterOpen : true,        
// Insert a line break before the </p> closing tag.        
breakBeforeClose : false,        
// Insert a line break after the </p> closing tag.        
breakAfterClose : true    
})


Setting Writer Rules
Because the writer is a property of each editor instance, and also because it's dependency on the writer plugin to be loaded, the best way to make changes to it is by listening to the "instanceReady" event, so it's safe to assume that the dataProcessor property will be loaded and ready to changes. The following is an example of it, when creating an editor instance:

可以为单一得编辑器指定标签的格式。

CKEDITOR.replace( 'editor1',
{on :{ instanceReady : function( ev ){ // Output paragraphs as <p>Text</p>.                
this.dataProcessor.writer.setRules( 'p',{
indent :false,
breakBeforeOpen : true, 
breakAfterOpen : false,
breakBeforeClose : false,
breakAfterClose :true });
} 
}
});


Another way for it is by using the CKEDITOR object, so all editor instances will be changed:

也可以对所有的编辑器进行设定。

CKEDITOR.on( 'instanceReady', 
function( ev ){ // Out self closing tags the HTML4 way, like <br>.
ev.editor.dataProcessor.writer.selfClosingEnd = '>';    
}); 


分享到:
评论

相关推荐

    ckeditor4.2.2自定义配置

    自定义CKEditor配置主要通过修改`config.js`文件来实现。这个文件通常位于CKEditor的根目录下,用于定义编辑器的各种设置,如工具栏按钮、语言、默认样式等。例如,如果你想禁用某些默认的工具栏按钮,可以在`...

    ckeditor的详细配置

    ### ckeditor的详细配置 ckeditor是一款非常流行的富文本编辑器,它是FCKeditor的后续版本,广泛应用于网页开发中,支持多种浏览器环境。本文将详细阐述如何进行ckeditor的基本配置及高级定制,帮助开发者更好地...

    CKEditor安装与配置

    ### CKEditor安装与配置详解 #### 一、CKEditor简介 CKEditor,原名FCKeditor,是一款功能强大的在线富文本编辑器。随着版本的更新和技术的发展,它被重命名为CKEditor,以更好地体现其所属的公司CKSource的品牌...

    ckeditor+ckfinder配置实现图片上传实例

    在本文中,我们将深入探讨如何使用CKEditor和CKFinder配置一个图片上传的实例。CKEditor是一款功能强大的在线文本编辑器,而CKFinder则是一个与之配套的文件管理器,允许用户方便地上传、管理和选择图片或其他文件。...

    ckeditor及配置方法

    **ckeditor及配置方法** ...总结,CKEditor是一个强大且灵活的富文本编辑器,通过合理的配置和API使用,可以轻松集成到你的项目中,提升用户体验。了解其配置和API,能帮助你定制出满足特定需求的在线编辑环境。

    ckeditor配置上传视频

    最近项目开发需要用到CKEditor在线编辑器,但发现他本身没有自带,所以需要自己手动配置插件。但网上很多配置都有问题,自己摸索了好久终于搞定。需要注意的细节有:flvPlayer文件夹的内容直接放在ckeditor文件夹...

    ckeditor4完整配置说明

    CKeditor的完整toolbar配置说明,很多人不知道,其他它就在sample下面。我单摘出来,方便大家查看

    ckeditor+ckfinder配置

    3. **配置CKEditor**:在需要使用CKEditor的页面中,引入CKEditor的JavaScript文件,并配置CKFinder的路径。例如: ```html &lt;script src="js/ckeditor/ckeditor.js"&gt; CKEDITOR.replace('editor', { ...

    CKeditor的详细配置文档

    ### CKeditor的详细配置知识点 #### 一、简介与历史沿革 CKEditor是一款非常流行的开源富文本编辑器,最初名为FCKeditor。随着时间的发展,它经历了多次版本更新和技术革新,尤其是在升级至3.0版本时,进行了大...

    ckeditor配置(详细)

    ### CKEditor配置详解 CKEditor是一款广泛应用于网页开发中的富文本编辑器,它提供了丰富的文本编辑功能,如格式化文本、插入图片、链接等,极大地提升了用户在网页上的编辑体验。本文将深入解析CKEditor的配置方法...

    ckeditor与ckfinder详细配置与使用说明

    CKEditor是一款强大的富文本编辑器,而CKFinder则是一个文件管理器,常与CKEditor配合使用,允许用户上传和管理编辑器中的图片、文件等资源。 CKEditor的配置主要通过修改`config.js`文件实现。在配置中,你可以...

    ASP+Ckeditor上传图片配置Demo和文档说明

    在这个“ASP+Ckeditor上传图片配置Demo和文档说明”的资源中,我们将探讨如何在ASP.NET环境中集成CKEditor,并实现图片上传功能。 1. **CKEditor介绍**: - CKEditor是一款开源的JavaScript富文本编辑器,支持多种...

    CKeditor3.0详细配置[定义].pdf

    4. **CKeditor的核心文件与配置**: - `ckeditor.js`是核心文件,用于初始化和运行编辑器。 - `config.js`是配置文件,所有的编辑器设置都在这里完成,包括自动更新元素、z-index、基址链接、快捷键等。 - `...

    ckeditor5 v19配置文件完整版.

    ckeditor5 v19完整配置文件,含教程及源文件,index.html调用文件及配置文件为单独文件,可以用于复制替换及学习,提醒个别插件必须在网站调试模式下才能正常显示工具,ckfinder需要自行从网上下载,默认为放在网站...

    ckeditor3.6配置

    CKEditor 作为一款广泛使用的富文本编辑器,其强大的功能和灵活的配置选项受到了众多开发者的青睐。本文将详细介绍如何在 ASP.NET 和 HTML 页面中集成并配置 CKEditor 3.6 版本。 #### 二、CKEditor 基本配置 ####...

    Asp.Net mvc3中ckeditor4.4.0与ckfinder配置上传图片.zip

    本项目是关于如何在ASP.NET MVC3环境中配置CKEditor 4.4.0版本与CKFinder进行图片上传的详细步骤。 首先,`Global.asax`文件是ASP.NET应用程序的全局应用事件处理程序,它定义了应用程序启动、结束、请求开始等关键...

    最新ckeditor_ckfinder整合超完整版 for PHP 附ckeditor完整中文配置

    本文将详细介绍"最新ckeditor_ckfinder整合超完整版 for PHP"的相关知识点,包括CKEditor、CKFinder以及它们如何与PHP进行整合,同时提供关于ckeditor完整中文配置的指南。 CKEditor是一款流行的开源富文本编辑器,...

    CKEditor使用介绍

    在本文中,我们将深入探讨CKEditor的使用,包括如何集成到ASP.NET项目中,以及如何利用C#和VS2010进行配置和定制。 一、CKEditor的安装与引入 1. 首先,你需要下载CKEditor的开发包。这通常是一个.zip或.tar.gz...

    文本编辑器CKEditor 3使用配置和图片上传实现实例

    文本编辑器CKEditor 3使用配置和图片上传实现实例,里面包含了一个项目源代码和使用文档。项目经过自己的测试,是成功的,但里面还包含了其他程序代码没有去掉,不会影响的。 项目是使用jsp+struts 1.2实现。

Global site tag (gtag.js) - Google Analytics