1. 下載編輯器
下載 KindEditor 最新版本,下載之后打開 examples/index.html 就可以看到演示。
下載頁面: http://www.kindsoft.net/down.php
2. 部署編輯器
解壓 kindeditor-x.x.x.zip 文件,將所有文件上傳到您的網(wǎng)站程序目錄里,例如:http://您的域名/editor/
Note
您可以根據(jù)需求刪除以下目錄后上傳到服務(wù)器。
- asp - ASP程序
- asp.net - ASP.NET程序
- php - PHP程序
- jsp - JSP程序
- examples - 演示文件
3. 修改HTML頁面
- 在需要顯示編輯器的位置添加textarea輸入框。
<textarea id="editor_id" name="content" style="width:700px;height:300px;">
<strong>HTML內(nèi)容</strong>
</textarea>
Note
- id在當(dāng)前頁面必須是唯一的值。
- 在textarea里設(shè)置HTML內(nèi)容即可實(shí)現(xiàn)編輯,在這里需要注意的是,如果從服務(wù)器端程序(ASP、PHP、ASP.NET等)直接顯示內(nèi)容,則必須轉(zhuǎn)換HTML特殊字符(>,<,&,”)。具體請參考各語言目錄下面的demo.-程序,目前支持ASP、ASP.NET、PHP、JSP。
- 在有些瀏覽器上不設(shè)寬度和高度可能顯示有問題,所以最好設(shè)一下寬度和高度。寬度和高度可用inline樣式設(shè)置,也可用 編輯器初始化參數(shù) 設(shè)置。
- 在該HTML頁面添加以下腳本。
<script charset="utf-8" src="/editor/kindeditor.js"></script>
<script charset="utf-8" src="/editor/lang/zh-CN.js"></script>
<script>
KindEditor.ready(function(K) {
window.editor = K.create('#editor_id');
});
</script>
Note
- 第一個(gè)參數(shù)可用其它CSS選擇器,匹配多個(gè)textarea時(shí)只在第一個(gè)元素上加載編輯器。
- 通過K.create函數(shù)的第二個(gè)參數(shù),可以對編輯器進(jìn)行配置,具體參數(shù)請參考 編輯器初始化參數(shù) 。
var options = {
cssPath : '/css/index.css',
filterMode : true
};
var editor = K.create('textarea[name="content"]', options);
4. 獲取HTML數(shù)據(jù)
// 取得HTML內(nèi)容
html = editor.html();
// 同步數(shù)據(jù)后可以直接取得textarea的value
editor.sync();
html = document.getElementById('editor_id').value; // 原生API
html = K('#editor_id').val(); // KindEditor Node API
html = $('#editor_id').val(); // jQuery
// 設(shè)置HTML內(nèi)容
editor.html('HTML內(nèi)容');
Note
- KindEditor的可視化操作在新創(chuàng)建的iframe上執(zhí)行,代碼模式下的textarea框也是新創(chuàng)建的,所以最后提交前需要執(zhí)行 sync() 將HTML數(shù)據(jù)設(shè)置到原來的textarea。
- KindEditor在默認(rèn)情況下自動(dòng)尋找textarea所屬的form元素,找到form后onsubmit事件里添加sync函數(shù),所以用form方式提交數(shù)據(jù),不需要手動(dòng)執(zhí)行sync()函數(shù)。
- KindEditor默認(rèn)采用白名單過濾方式,可用 htmlTags 參數(shù)定義要保留的標(biāo)簽和屬性。當(dāng)然也可以用 filterMode 參數(shù)關(guān)閉過濾模式,保留所有標(biāo)簽。
// 關(guān)閉過濾模式,保留所有標(biāo)簽
KindEditor.options.filterMode = false;
KindEditor.ready(function(K)) {
K.create('#editor_id');
}