CKEditor使用筆記,ckeditor筆記

來源:互聯網
上載者:User

CKEditor使用筆記,ckeditor筆記
相關資源

   

1. 首頁地址:http://ckeditor.com/

2. :http://ckeditor.com/download

3. SDK地址:http://sdk.ckeditor.com/

如何開始 1、選擇位置,放置CKEditor的包
   

如:放置在webapp/plugin路徑下,其中webapp是web項目的根目錄。

2、在頁面中引入ckeditor.js
        
<script type="text/javascript" src="${pageContext.request.contextPath}/plugin/ckeditor/ckeditor.js"></script>
3、在頁面中定義textarea,定義id和name屬性
      
<textarea id="editor" name="content"></textarea>

4、啟用控制項
  

在頁面載入完成後調用下述語句:

CKEDITOR.replace("editor"); // 指定textarea的id或name

如果順利,可以看到效果:

var value = CKEDITOR.instances.editor.getData();

注意:editor是CKEDITOR的一個instance,與啟用控制項時傳入的字串一致。

自訂配置

ckeditor/config.js檔案用於CKEditor的配置。剛下載下來時,內容如下:

/** * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.md or http://ckeditor.com/license */CKEDITOR.editorConfig = function( config ) {    // Define changes to default configuration here. For example:    // config.language = 'fr';    // config.uiColor = '#AADC6E';};

我們需要自訂配置,寫在方法裡。

組態工具欄
  

CKEditor劃分了三個版本,支援詳簡不同的工具列。如果我們需要在此基礎上進行配置,可以使用下載包裡提供的組態工具,直接以本瀏覽器開啟/ckeditor/samples/toolbarconfigurator/index.html

config.font_names = '宋體/SimSun;新宋體/NSimSun;仿宋/FangSong';

如:將上述代碼複製到config.js的方法中,可以配置控制項的字型分別為宋體、新宋體、仿宋。

控制項可以配置多個字型實體,字型之間以;分隔。字型又分顯示名和設定名之別,以/分隔;顯示名用於在控制項中顯示,設定名用於設定對應的font-family,所以設定名不能隨意填寫。如,按照上述的配置,選擇了新宋體之後,輸出的代碼為style="font-family:nsimsun"

font-family可以設定多個字型的序列,所以控制項的一個字型實體,可以有多個輸出名,以,分隔。如:

config.font_names = 'Times New Roman/Times New Roman, Times, serif';

換行模式配置
  

在預設的情況下,Enter鍵是添加一個p標籤,而Shift+Enter是添加一個br標籤。控制項提供了三種模式:

1. CKEDITOR.ENTER_P

新增一個p標籤

2. CKEDITOR.ENTER_BR

新增一個br標籤

3. CKEDITOR.ENTER_DIV

新增一個div標籤

控制項使用下述的參數名來配置模式:

1. enterMode

配置單擊Enter鍵的模式

2. shiftEnterMode

配置Shift + Enter按鍵組合的模式

如下述代碼:

config.enterMode = CKEDITOR.ENTER_BR; // 配置Enter是換行config.shiftEnterMode = CKEDITOR.ENTER_P; // 配置Shift + Enter是換段落

更多配置
  

參考CKEDITOR.config的API。

配置的方式
  

除了上文中描述的,直接修改config.js檔案,還有另外兩種配置的方式。

1. 啟用時配置

CKEDITOR.replace( 'editor', {    language: 'fr',    uiColor: '#9AB8F3'});

2. 自訂設定檔

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

要求自訂設定檔的結構和預設的config.js一致。

功能試煉1、初始最大化
  

CKEDITOR.editor有事件instanceReady,CKEDITOR.editor#on( 'instanceReady', function(evt) )可以捕捉控制項初始化完成的時機;

CKEDITOR.instances.editorId可以擷取指定editorId的CKEDITOR.editor執行個體;

CKEDITOR.editor#execCommand( commandName, [data] )用於執行命令,'maximize'是最大化命令;

結合以上知識,我們可以得到代碼

CKEDITOR.instances.editor.on('instanceReady', function (e) {    CKEDITOR.instances.editor.execCommand('maximize'); // 初始最大化});
2、擷取控制項的富常值內容
  

CKEDITOR.editor#getData()可用於擷取富文本的內容

var value = CKEDITOR.instances.editor.getData();
3、預覽列印
      
CKEDITOR.instances.editor.execCommand('preview');  // 預覽CKEDITOR.instances.editor.execCommand('print');  // 列印
關於execCommand的說明
  

"maximize"是最大化的命令,"preview"是預覽的命令,"print"的命令。大家一定想要一份command的清單,求知有哪些命令可供我們使用。很遺憾,我沒有找到這樣的清單,通過走讀源碼,在ckeditor.js中,會調用CKEDITOR.plugins.add( {String}name, {Object}[definition] )來註冊資源,"maximize"、"preview"、"print"都在其中。

通過關鍵字匹配,共有72個資源:

dialogui, dialog, about, a11yhelp, dialogadvtab, basicstyles, bidi, blockquote, clipboard, button, panelbutton, panel, floatpanel, colorbutton, colordialog, templates, menu, contextmenu, div, resize, toolbar, elementspath, enterkey, entities, popup, filebrowser, find, fakeobjects, flash, floatingspace, listblock, richcombo, font, forms, format, horizontalrule, htmlwriter, iframe, wysiwygarea, image, indent, indentblock, indentlist, smiley, justify, menubutton, language, link, list, liststyle, magicline, maximize, newpage, pagebreak, pastetext, pastefromword, preview, print, removeformat, save, selectall, showblocks, showborders, sourcearea, specialchar, scayt, stylescombo, tab, table, tabletools, undo, wsc

 

Technorati 標籤: CKEditor使用,CKEditor配置

相關關鍵詞:
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.