kindeditor不過濾標籤屬性
kindeditor不過濾標籤屬性
1、問題:
在富文字編輯器編輯的時候,發現自己在div上寫的部分屬性不見了,其他標籤的部分屬性也不見了,h5標籤section也不見了,效果圖如下:
(1)、點選富文字左上角'HTML程式碼'按鈕,把自己的html程式碼放進去:
(2)、然後檢視html的效果:
(3)、再次點選'HTML程式碼':
2、解決:
看官方文件 http://kindeditor.net/doc3.php?cmd=config
找到一個屬性:filterMode
資料型別:Boolean
true時過濾HTML程式碼,false時允許輸入任何程式碼。
預設值:false
注: 3.4以前版本的filterMode預設值為true。
3、總結:原來是外掛預設幫我們過濾掉了標籤的部分屬性,把預設的true改為false即可。
4、或者 想要指定某些標籤不過濾。
屬性:htmlTags
指定要保留的HTML標記和屬性。雜湊陣列的key為HTML標籤名,value為HTML屬性陣列,"."開始的屬性表示style屬性。
資料型別:Object
預設值:
{
font : ['color', 'size', 'face', '.background-color'],
span : ['style'],
div : ['class', 'align', 'style'],
table: ['class', 'border', 'cellspacing', 'cellpadding', 'width', 'height', 'align', 'style'],
'td,th': ['class', 'align', 'valign', 'width', 'height', 'colspan', 'rowspan', 'bgcolor', 'style'],
a : ['class', 'href', 'target', 'name', 'style'],
embed : ['src', 'width', 'height', 'type', 'loop', 'autostart', 'quality',
'style', 'align', 'allowscriptaccess', '/'],
img : ['src', 'width', 'height', 'border', 'alt', 'title', 'align', 'style', '/'],
hr : ['class', '/'],
br : ['/'],
'p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6' : ['align', 'style'],
'tbody,tr,strong,b,sub,sup,em,i,u,strike' : []
}
注:filterMode為true時有效。3.4版本開始屬性可設定style,保留所有inline樣式。
5、部分程式碼:
/*定義文字域*/
<textarea name="content" id="content" style=" width: 100%; height:400px" ><?php echo isset($data['content'])?$data['content']:''?></textarea>
/*引入外掛*/
<script type="text/javascript" src="<?php echo $cdn_host;?>js/kindeditor-4.1.10/kindeditor.js"></script>
/*初始化外掛*/
<script>
$(function(){
KindEditor.basePath = '<?php echo $cdn_host;?>js/kindeditor-4.1.10/';
setTimeout(function(){
window.editor = KindEditor.create('#content', {
filterMode: false,//是否開啟過濾模式
uploadJson: '/admin/public/upload?type=imgFile',
/* fileManagerJson: '?m=upload&f=file_manager_json&is_json=1',
allowFileManager: true*/
});
},100);
})
</script>