ueditor编辑器处理整张html,关于ueditor编辑器过滤script/style标签的解决方法

关于ueditor编辑器过滤script/style标签的解决方法

时间:2020-03-10

1205 次浏览

在网页制作的过程中想通过编辑器添加一些特殊应用,例如要添加视频播放器代码,添加后发现不能正常播放视频,检查代码后发现视频调用代码被无情过滤了,部分被替换成空白、部分被替换成div,造成无法实现网站嵌套视频播放的问题。网上方法不少,大多不能如愿,经多次研究整理一套完整的解决方案。

5aa1d02a8e9584985a4474e8a1a52dcc.png

第一步:UEditor取消html源代码切换时div/script/style等自动过滤

在Ueditor编辑器目录找到ueditor的js文件:ueditor.all.js 注意return;加入的位置!ueditor.all.js

搜索 UE.plugins['defaultfilter']

UE.plugins['defaultfilter'] = function () {

return;   //在这里添加return,不执行下面的格式化

var me = this;

me.setOpt({

'allowDivTransToP':false,

'disabledTableInTable':true

});

//默认的过滤处理

//进入编辑器的内容处理

ueditor.all.min.js

搜索UE.plugins.defaultfilter

UE.plugins.defaultfilter=

function(){return;var d=this;d.setOpt({allowDivTransToP:!0,d

第二步:确保配置文件中白名单列表中包含相关标签及对应的属性

找到配置文件:ueditor.config.js 搜索关键词:whitList 该列表下出现的标签及对应的属性是不会被过滤掉的。// xss过滤白名单

,whitList: {

iframe: ['frameborder','border','width','height','src','id'],

a:      ['target', 'href', 'title', 'class', 'style'],

abbr:   ['title', 'class', 'style'],

script: ['type','src'],

address: ['class', 'style'],

area:   ['shape', 'coords', 'href', 'alt'],

article: [],

aside:  [],

audio:  ['autoplay', 'controls', 'loop', 'preload', 'src', 'class', 'style'],

b:      ['class', 'style'],

以上二步缺一不可,按照步骤修改相关标签及对应的属性,保存后覆盖原来的文件,清空站点及本地缓存后即可生效。

若以上两步仍不能解决问题,script,style等标签依然被过滤,那么请检查使用编辑器的页面调用的是哪个文件(ueditor.js还是ueditor.min.js),打开对应的文件,一般用的是ueditor.min.js这个文件,搜索代码“filterInputRule:function”,在代码{for(var这个位置即for前加入return; 编辑之后是:{return;for(var,然后保存上传并覆盖。

如果还是搞不定,本人以Euditor1.4.3为例把修改好的文件打包分享出来,大家可以直接下载覆盖。

链接: https://pan.baidu.com/s/1Kx8lu-tli6EYb4cIkP5hzg 提取码: r76f

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了在UEditor编辑器中增加CSS样式,可以通过以下步骤来实现: 1. 打开UEditor的配置文件,一般来说是config.js文件。 2. 在“UEDITOR_CONFIG”对象中添加如下代码: ```javascript // 自定义样式 , 'customstyle':[ { tag:'h1', name:'tc f-26 lh-66', label:'大标题', style:'border-bottom:2px solid #000;font-size:26px;padding:26px 10px 10px;margin:10px 0 20px;' }, { tag:'h2', name:'tc f-20 lh-48', label:'中标题', style:'border-bottom:1px solid #ccc;font-size:20px;padding:10px;margin:10px 0 15px;' }, { tag:'p', name:'tc f-14 lh-30', label:'段落', style:'font-size:14px;line-height:30px;padding:10px;margin:10px 0;' } ] ``` 以上代码中,我们定义了三种自定义样式:大标题、中标题和段落。其中,每种样式都包括了标签、名称、标签显示的文字和CSS样式。 3. 在配置文件中找到“UEDITOR_CONFIG.toolbars”对象,找到需要使用自定义样式的工具栏按钮,例如“字号”按钮,将其配置修改为: ```javascript ['fontfamily', 'fontsize', '|', 'customstyle', 'bold', 'italic', 'underline', 'forecolor', 'backcolor', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist', 'insertunorderedlist', '|', 'insertimage', 'insertvideo', '|', 'removeformat', 'source'] ``` 4. 保存配置文件,重新加载页面,即可在编辑器中看到自定义样式按钮。选中需要应用样式的文本,点击对应的按钮即可。 至于自动添加<p>标签的问题,可以在配置文件中找到“UEDITOR_CONFIG.filterRules”对象,将其中的“p”标签过滤规则删除即可。具体代码如下: ```javascript , filterRules: { // <!-- 过滤标签 --> tagNames: { style: true, script: true, div: 1, p: 1 }, ... } ``` 将其中的“p: 1”删除即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值