プラグイン開発方式のCKEDITOR二次開発
その前に、CKEditorのソースコードがどのように構成されているかを知っておくと便利です。CKEditorに固有のファイルのいくつかは、ckeditor_sourceディレクトリに編成されています。DOM要素操作、イベント処理、初期化スクリプト、いくつかの環境設定などのコア機能はckeditor_sourcecoreフォルダに含まれています。その他の機能(書式設定、コピー&ペースト、画像、リンクなど)は、プラグインとしてckeditor_sourcepluginsフォルダに実装されている。各フォルダはプラグインを表している。そして、それぞれのフォルダの中に、プラグインに必要なコードを含むplugin.jsファイルが存在する。
ソースコードがさまざまなファイルに整理されているのがわかると思います。HTTPリクエストを減らすために、CKEditorは異なるファイルをckeditor.jsとckeditor_basic.jsに圧縮してパッケージ化します。
日付プラグインを作成する(date)
1. 1.ディレクトリに新規に "date" を作成し、その中に "plugin.js" を作成し、以下のコードを入力してください。
CKEDITOR.plugins.add('date', {
requires: ['dialog'],
init: function (a) {
var b = a.addCommand('date', new CKEDITOR.dialogCommand('date'));
a.ui.addButton('date', {
label: a.lang.date.toolbar,
command: 'date',
icon: this.path + 'images/date.jpg'
});
CKEDITOR.dialog.add('date', this.path + 'dialogs/date.js');
}
});
2. 2.ディレクトリを追加して、date.jpgの画像を置いてください。
3. dialogs"ディレクトリを追加し、新しい"date.js"を作成し、以下のコードを入力してください。
CKEDITOR.dialog.add('date', function(editor){
var escape = function(value){
return value;
};
return {
title: 'Calendar control',
resizable: CKEDITOR.DIALOG_RESIZE_BOTH,
minWidth: 300,
minHeight: 80,
contents: [{
id: 'cb',
name: 'cb',
label: 'cb',
title: 'cb',
elements: [{
type: 'text',
label: 'Please enter the name of the date control',
id: 'lang',
required: true,
},{
type:'html',
html:'<span> Description: The date and time selected by the calendar control will be backfilled into this input box. </span>'
}]
}],
onOk: function(){
lang = this.getValueOf('cb', 'lang');
editor.insertHtml("<p>" + lang + "</p>");
},
onLoad: function(){
}
};
});
4、次のステップは、CKEditorにプラグインを追加することです、私は直接CKEditorプラグインのコアファイルを変更します。
ckeditorディレクトリで"ckeditor.js"を探してください。ここのコードは圧縮されており、CKEditor用のオリジナルのaboutプラグインを参考にします。about"を探し、以下を見つけます。
fullPage:false,height:200,plugins:'about,basicstyles
そして、quot;about" の後に "date" を追加して、ここでは次のようになります。
plugins:'about,date,basicstyles
を探し続けてください。
j.add('about',{init:function(l){var m=l.addCommand('about',new a.dialogCommand('about'));m.modes={wysiwyg:1,source:1};m.canUndo= false;l.ui.addButton('About',{label:l.lang.about.title,command:'about'});a.dialog.add('about',this.path+'dialogs/about.js');}});
このjの前に
j.add('date', {requires: ['dialog'],init: function(l){l.addCommand('date', new a.dialogCommand('date'));l.ui.addButton('date', {label: l. lang.date.toolbar,command: 'date',icon: this.path + 'images/code.jpg'});a.dialog.add('date', this.path + 'dialogs/date.js');}});
これはCKEditorのデフォルトツールバーで、ここに"date"を追加しています。
['Maximize','ShowBlocks','-','date']
5. 5. ckeditorlang"に移動して、"zh-cn.js"に "date:'date plugin'" を追加してください。
,date:{toolbar: 'Date control'}, link: { toolbar: 'Insert/edit hyperlink', other: '<Other>',
6. CKEditorへの変更はこれでOKです。
もちろん、ckeditorのツールバーの表示も設定できます。config.jsを開くと、以下のように表示されます。
/*
Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.editorConfig = function( config )
{
// Define changes to default configuration here. for example:
// config.language = 'fr';
// config.uiColor = '#AADC6E';
config.toolbar =
[
['Source'],
['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Print', 'Link', 'Unlink', 'Anchor'],
['Undo', 'Redo', '-', 'Find', 'Replace', '-', 'SelectAll', 'ImageButton', 'Image'],
['Styles', 'Format', 'Font', 'FontSize'],
['TextColor', 'BGColor'],
['date'] // just created the date plugin (date)
];
};
インスタンス画像です。
関連
-
右スクロールバーを削除するSyntaxHighlighterメソッド
-
SyntaxHighlighterのコードハイライトで改行がない場合の対処法
-
IE10、IE11でのFCKEditorの非互換性の問題を解決しました。
-
Baidu ueditorコンポーネント画像をアップロードした後、どのようにimgにalt属性を設定する
-
オンラインエディタeWebEditorをIE8,IE9に対応させる方法
-
ckeditorプラグインの簡単な開発例
-
jsp版ueditor1.2.5について 一部問題解決(画像のアップロード失敗)
-
Baiduのエディタueditorのフォアグラウンドコードハイライトは、自動的に解決策をラインアップすることはできません
-
SyntaxHighlighterに新しい言語を追加するための方法
-
CKEditorをアンエスカレーションする2つの方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ckeditorカスタムプラグインの使用方法説明
-
Google ChromeをeWebEditorに対応させる方法
-
FCKeditor + SyntaxHighlighterでコードハイライトプラグインを作る
-
Baiduコンパイラのjsonエラーの問題を迅速に解決する方法
-
php UEditor Baiduエディタインストールと使用方法の共有
-
デフォルトの新しいウィンドウを開く修正方法にリンクを追加するdecmsのckeditorエディタ
-
ZeroClipboardを使用したクロスブラウザでのクリップボードへのコピー問題の解決法
-
FckeditorエディタによるPHP環境での画像アップロード設定 詳細チュートリアル
-
jsはリッチテキスト(正規表現)で最初の画像を取得します。
-
アメニティにおすすめの優秀なフロントエンド開発エディター数名