kindeditor编辑器代码过滤解决方法.

很多朋友在使用Kindeditor编辑器的时候都会遇到这样一个问题,如:给A标签加上title属性过后,浏览的时候,却神奇般地发现title属性没有了。再次切换html源代码的时候,返现编辑器将title属性给删掉了。追究其根本原因主要是kindeditor设置了标签和属性的默认过滤机制。KindEditor默认状态下会过滤编辑器里的html代码,主要是为了生成干净的代码,就会出现我们想不到的结果,现在焦国强为大家讲解:如何避免自己手动添加的代码被不必要的过滤。
首先我们知道3.4版本以上版本默认开启了过滤模式(filterMode:true)。当filterMode为true时,编辑器会根据htmlTags设定自动过滤HTML代码

可是在我们平时的使用中,为了精简内容代码和达到好特定的显示效果,经常会用一些div跟css的代码,如果不更改编辑器的设定,这些代码都会被过滤,所
以如果想保留所有HTML相关代码,请将kindeditor.js里的filterMode设置成false。如果想保留特定HTML,请将
filterMode设置成true后,配置htmlTags属性。

filterMode : true // true:开启过滤模式, false:关闭过滤模式

如果改成filterMode : false之后,编辑器里面添加的代码就都会被保留。

可是如果我只是想不过滤某个标签,其他的还是正常过滤,应该怎么办呢?比如说我想保留行距代码<span style=”line-height:30px;”>,其他的还是正常过滤,方法是:
filterMode : 改成true 就是开启过滤的意思。
然后我们可以通过设置其htmlTags属性来得以实现。KindEditor 默认采用白名单过滤方式,可用 htmlTags 参数定义要保留的标签和属性 htmlTags指定要保留的HTML标记和属性。Object的key为HTML标签名,value为HTML属性数组,”.”开始的属性表示style属性。修改的文件为kindeditor.js 例子如下所示:在span下面添加line-height属性标签就可以了,当然要按照格式来添加,格式可以参照其他已经有的标签。

综上所述,通过以上两种方式即可实现kindeditor编辑器的标签和属性过滤效果。
不过修改完了一定要注意关掉编辑器的界面在重新打开,或是刷新,总之要清空缓存,否则是不起作用的。

原文连接:http://www.jiaoguoqiang.com/kindeditorguolv/

时间: 2024-08-01 10:33:41

kindeditor编辑器代码过滤解决方法.的相关文章

Kindeditor 编辑代码过滤

参考:https://www.cnblogs.com/wawahaha/p/4513496.html kindeditor编辑器代码过滤解决方法. 很多朋友在使用Kindeditor编辑器的时候都会遇到这样一个问题,如:给A标签加上title属性过后,浏览的时候,却神奇般地发现title属性没有了.再次切换html源代码的时候,返现编辑器将title属性给删掉了.追究其根本原因主要是kindeditor设置了标签和属性的默认过滤机制.KindEditor默认状态下会过滤编辑器里的html代码,主

ecshop新版不能在模板文件.dwt和.lbi中直接添加php代码的解决方法

ecshop新版不能在模板文件.dwt和.lbi中直接添加php代码了,为什么呢? 因为直接在模板中加入php函数和代码,没有经过过滤,容易造成安全隐患.程序源码安全是非常重要的. 不过如果有朋友希望能在模板文件中直接加入php代码,怎么办呢? 其实,只需要改动一个文件,即includes/cls_template.php 打开此文件,找到函数 function fetch_str($source) 在此函数中找到,大概在288行 if(preg_match_all('~(<\?(?:\w+|=

DEDECMS 添加文章时提示标题为空, 编辑文章编辑器空白 的解决方法

DEDECMS 版本: GBK 5.7 ( 万恶之源, 建议不要使用 GBK 或 GB2312 编码的 )   文本编辑器: ckeditor( DEDECMS 默认的) 原配置环境: window + IIS + PHP 5.3.28 新配置环境: linux + nginx + php 5.5.30 PHP htmlspecialchars 更新日志 5.6.0 The default value for the encoding parameter was changed to be th

git 本地与远程仓库出现代码冲突解决方法

提交过程中报错: [[email protected] Selesystem]$ git push -u origin masterUsername for 'https://github.com': sdfasnamePassword for 'https://[email protected]': To https://github.com/nighttidesy/-Selesystem.git ! [rejected] master -> master (fetch first)error

关于ESP8266 NodeCMU固件无法刷入新代码的解决方法

在玩ESP8266时,有时候会无意中写了导致死循环的代码,或都某些函数传递了不合适的参数导致系统崩溃,这可能会导致ES8266不停地重启,这时我们发现无法刷入新的代码,也无法删除8266中的原代码.我曾经就因为这个问题报废了块板子...心痛... 后来通过在网上找相关资料以及自己分析,总结了以下两个方法去避免以上情况: 原因分析:NodeMCU程序出现错误时,可能会导致ESP8266不停地重启,并且重启速度太快以至于我们都无法删除板子里的原代码(甚至重新刷ROM也无法刷入),更无法重新写入程序.

个别二次开发电脑无法保存功能里面代码的解决方法

度量快速开发-平台在二次开发过程中,有极个别电脑上的开发客户端在二次开发的时候,书写的功能和事件中的代码,保存显示成功了的,但是重新打开后又没有. 排查方法:1.请检查客户端下面的autoupdate.exe,查看是否客户端是最新的,有没有升级文件未更新.2.如果是很久之前的客户端,中途升级多次后,突然出现,请检查客户端里面是否有升级异常的temp文件,有则删除.3.重新启动客户端,使用测试.4.客户端打开的时候,请使用管理员权限打开.5.卸载客户端,重新下载新客户端使用.6.检查电脑是否中毒,

VC6.0装了visual assist x回车键不能补全代码的解决方法

问题:VC6.0装了visual assist x补全代码具体怎么用?         输入字母后会像输入法那样出现一个菜单        但是怎么选择菜单里面的内容呢?        什么 回车  上下左右 按了都不是.....       鼠标双击可以  但是太麻烦... 解决:安装一个高版本的visual assist x visual assist x  链接:http://pan.baidu.com/s/1pJmL0KF 密码:bjkk

忘了pull,直接修改并且commit的问题--github上传内容前先检查别人有没有推送新代码的解决方法

早上来公司之后,忘了pull下最新的代码,就直接开始在本地做更改了,而且还给commit上去了,结果推不上去,然后看见"pull"那里显示了有内容没有pull下来,这下可糟了,当场就蒙圈了,不知道咋办,幸好有学长助阵,帮忙解决了这个问题. git add . //保存修改git commit -m "备注内容" //写好备注准备推送git pull  //在推送前看看别人有没有推送git status //查看是否有冲突如果有根据路径找到文件进行修改(这个是提示你下

ecshop不能在模板文件.dwt和.lbi中直接添加php代码的解决方法

ecshop不能在模板文件.dwt和.lbi中直接添加php代码了,为什么呢? 因为直接在模板中加入php函数和代码,没有经过过滤,容易造成安全隐患.程序源码安全是比较重要的.不过如果有朋友希望能在模板文件中直接加入.dwt和.lbi文件,怎么办呢?需要改动哪些文件呢?其实,需要改动一个文件,即includes/cls_template.php打开此文件,找到函数 function fetch_str($source)在此函数中找到 if(preg_match_all('~(<\?(?:\w+|