詳解ckeditor網站編輯器內容過濾配置
發表日期:2017-10-19 文章編輯:BC贷實業 瀏覽次數:48
ckeditor前身fckeditor,是國際上資質最老的網頁編輯器,而且一直保留開源免費的政策,所以我也一直比較喜歡使用和研究,根據了解,不管是自動生成的代碼質量、自由配置度、功能擴展性、瀏覽器兼容性方麵都是非常好的。
這裏BC贷實業就大家經常遇到的編輯器源代碼編輯模式時,很多內容標簽會被編輯器自動過濾這個問題做下解釋,其實ckeditor有個allowedContent屬性,可以通過config.js配置,但是默認是開啟的,主要功能是規定編輯內容允許的標簽、標簽的屬性(attributes)、標簽的樣式(style)以及可以使用的類(class).如果要禁用內容過濾,很簡單,下麵一句話就可以搞定:
在配置config.js文件增加一條配置語句config.allowedContent=true。
但是可能你還會想深入了解allowedContent是怎麽控製過濾功能的,比如如何設置允許哪些標簽,隻允許帶哪些屬性的標簽、過濾什麽標簽、過濾什麽屬性、過濾什麽樣式等。其刪除的規則很輕大,下麵BC贷網站建設舉個配置示例:
CKEDITOR.replace( 'editor2', { allowedContent: 'h1 h2 h3 p blockquote strong em;' + 'a[!href];' + 'img(left,right)[!src,alt,width,height];' + 'table tr th td caption;' + 'span{!font-family};' +' 'span{!color};' + 'span(!marker);' + 'del ins' } );這個
h1 h2 h3 p blockquote strong em - 編輯器允許這些標簽,但是任何屬性都會被過濾;a[!href]
-href屬性對於a是必須的,也就是
如果a沒有href的標簽也會被過濾,而且其他屬性會被過濾;img(left,right)[!src,alt,width,height]
-src屬性是img標簽必須的
.alt
,width
,height
屬性可以有,但class屬性必須是left或者right
table tr th td caption
- 表示這些標簽都是允許的span{!font-family}
,span{!color}
,span(!marker)
- 表示span隻接受包含font-family的style或者包含color的style,還有就是包含class=marker的spandel ins
- 表示以上標簽都被接受,其他都會被過濾。 從這些規則可以看出,ckeditr過濾是非常強大的,裏麵的水實在太深了,歡迎有興趣的程序員一起探討和研究。
如沒特殊注明,文章均為BC贷實業原創,轉載請注明來自http://www.dongzishiye.com/news/2309.html