ckeditor自定義插件使用方法詳解
ckeditor是一款功能很強(qiáng)大的富文本編輯的工具,給我們提供了絕大多數(shù)功能,滿足我們?nèi)粘i_發(fā)所用,但由于特殊情況,可能會(huì)需要修改ckeditor的插件。ckeditor提供了給我們很方便擴(kuò)展插件的接口。
最經(jīng)由于項(xiàng)目的需要,需要重寫ckeditor的上傳圖片的功能,以下是自定義圖片上傳功能的部分代碼:
1、在ckeditor/plugins/目錄下新建editorupload目錄,用來存放自定義插件;在該目錄下新建目錄images用來存放自定以圖片,在images目錄下放入插件圖片image.png.
2、在editorupload目錄下新建plugin.js:
(function () {
var a = {
exec: function (editor) {
//調(diào)用jsp中的函數(shù)彈出上傳框,
var url = '../view/fileupload/upload.jsp';
openDialog({ //openDialog打開一個(gè)新窗口
title: '插入圖片',
url: url,
height: 600,
width: 900,
callback:function(){
}
});
}
},
b = 'editorupload';
CKEDITOR.plugins.add('editorupload', {
init: function (editor) {
editor.addCommand(b, a);
editor.ui.addButton('editorupload', {
label: '添加圖片', //鼠標(biāo)懸停在插件上時(shí)顯示的名字
icon: 'plugins/editorupload/images/image.png', //自定義圖標(biāo)的路徑
command: b
});
}
});
})();
在上面代碼中,新建了一個(gè)upload.jsp頁面用來上傳圖片,使用了openDialog彈出一個(gè)新的窗口,設(shè)置了彈出框的高度和寬度。
CKEDITOR.plugins.add將自定義的editorupload加入到ckeditor中。
下面是部分upload.jsp頁面代碼:
<div id="mainContent">
</div>
<div class=" box">
<table class=" m-table">
<colgroup>
<col width="20%"/>
<col width="80%"/>
</colgroup>
<tr>
<td style="vertical-align:top;"><label class="module-name">圖片說明</label></td>
<td>
<ul>
<li>1、《PC首頁輪播圖片》長寬為666×250顯示效果最好;《APP首頁輪播圖片》長寬為422×262顯示效果最好;</li>
<li>3、圖片提交才會(huì)在首頁生效;</li>
</ul>
</td>
</tr>
</table>
</div>
<div id="Pictures" class="detailWraper nopadding" style="display: none;height: auto;">
<input id="hidPicturesStatus" type="hidden" value="0"/>
<input id="hidCurrPictures" type="hidden" value=''/>
<input id="hidDictSuggestion" type="hidden" value=''/>
<table>
<tr>
<td>
<div id="fileQueue"></div>
<div id="picWrapper"></div>
<a id="fake-dlg-bigPic" href="javascript:void(0)" style="display: none;"></a>
<div id="dlg-bigPic" class="popImg" style="display: none;">
<a class="leftBtn" href="javascript:void(0)"></a>
<a class="rightBtn" href="javascript:void(0)"></a>
<a class="closeImgBtn" href="javascript:void(0)"></a>
<div class="imgList">
<ul></ul>
</div>
</div>
<div class="validation-summary-valid">
<ul>
<li style="display: none"></li>
</ul>
</div>
</td>
</tr>
</table>
</div>
<div>
<button id="fileUpload">批量上傳</button>
<button id="submit" class="btn btn-primary" style="vertical-align: top;line-height:23px;width:112px;height: 35px;">提交照片
</button>
</div>
</div>
upload.jps頁面部分的js代碼:
//提交照片
photoTaskDetail.submit = function () {
var pictures = window.picManager._getPictures();
if (pictures.length < 1) {
alert('請(qǐng)至少上傳1張圖片');
return false;
}
for (var i in pictures) {
var imgPath = "<img src='" + staticFileRoot + pictures[i].URL + "'/>";
var element = window.parent.CKEDITOR.dom.element.createFromHtml(imgPath);
window.parent.CKEDITOR.instances.editorContent.insertElement(element);
}
parent.closeDialog(false);
}
上面代碼中,可以上傳多張照片,分別將照片放入到ckeditor中。
配置ckeditor的config.js:
config.extraPlugins += (config.extraPlugins ? ',editorupload' : 'editorupload');
CKEDITOR.editorConfig = function( config ) {
config.font_names= '宋體/宋體;黑體/黑體;仿宋/仿宋_GB2312;楷體/楷體_GB2312;隸書/隸書;幼圓/幼圓;微軟雅黑/微軟雅黑;'+ config.font_names;
config.language = 'zh-cn';
config.extraPlugins += (config.extraPlugins ? ',lineheight' : 'lineheight');
config.extraPlugins += (config.extraPlugins ? ',editorupload' : 'editorupload');
CKEDITOR.config.lineheight_sizes = CKEDITOR.config.lineheight_sizes + '30px';
config.height = 650;
config.toolbarCanCollapse = true;
config.uiColor = '#90B8E9';
config.toolbar = 'Full';
config.toolbar_Full = [
{ name: 'document', items: [ 'Source','-','Save','NewPage','DocProps','Preview','Print','-','Templates' ] },
{ name: 'clipboard', items: [ 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo' ] },
{ name: 'links', items:['Link','Unlink']},
{ name: 'insert', items:['HorizontalRule','Table','Image'] },
'/',
{ name: 'basicstyles', items: [ 'Bold','Underline','Strike','Subscript','Superscript','-','RemoveFormat'] },
{ name: 'paragraph', items: [ 'list', 'indent', 'blocks', 'align', 'bidi' ] },
{ name: 'styles',items: ['lineheight','Format','Font','FontSize']},
{ name: 'colors',items: ['TextColor', 'BGColor']},
{ name: 'tools', items : [ 'Maximize','editorupload'] }
];
將editorupload插件加入到ckeditor中。
以下是實(shí)現(xiàn)的部分截圖:
實(shí)現(xiàn)總結(jié):在自定義插件過程中,必須把原插件的圖片插入的功能給打開,負(fù)責(zé)上傳的圖片不會(huì)被放入到ckeditor中,圖片地址會(huì)被自動(dòng)的過濾掉。這可能是ckeditor版本的bug導(dǎo)致。有解決方案的歡迎指導(dǎo)。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持我們。
欄 目:網(wǎng)頁編輯器
本文標(biāo)題:ckeditor自定義插件使用方法詳解
本文地址:http://www.jygsgssxh.com/a1/wangyebianjiqi/11775.html
您可能感興趣的文章
- 01-11針對(duì)PHP環(huán)境下Fckeditor編輯器上傳圖片配置詳細(xì)教程
- 01-11UEditor編輯器自定義上傳圖片或文件路徑的修改方法
- 01-11ckeditor插件開發(fā)簡單實(shí)例
- 01-11CKEditor 取消轉(zhuǎn)義的兩種方法
- 01-11FCKeditor + SyntaxHighlighter 讓代碼高亮著色插件
- 01-11Fckeditor XML Request error:internal server error (500) 解決方法
- 01-11fckeditor編輯器下的自定義分頁符實(shí)現(xiàn)方法
- 01-11SyntaxHighlighter配合CKEditor插件輕松打造代碼語法著色
- 01-11ie9后瀏覽器fckeditor無法上傳圖片、彈出浮層內(nèi)容不顯示的解決方
- 01-11ajax php實(shí)現(xiàn)給fckeditor文本編輯器增加圖片刪除功能


閱讀排行
本欄相關(guān)
- 01-11針對(duì)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添加新語言的方法
隨機(jī)閱讀
- 01-10C#中split用法實(shí)例總結(jié)
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 04-02jquery與jsp,用jquery
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-10delphi制作wav文件的方法


