Ueditor百度编辑器的Html模式自动替换样式的解决方
百度的Ueditor编辑器在处理用户粘贴的HTML文档时,出于安全考虑,会默认去除样式并进行转义处理。虽然这种做法在安全方面表现得非常出色,但在某些情境下却给用户的编辑工作带来了不便。为了满足一些特定需求,我们可以进行一些设置调整来优化这一功能。以下是基于特定版本的Ueditor编辑器(版本号为1.3.6)的修改建议:
一、打开ueditor.all.js文件。
二、跳转到大约9300行代码处,找到关于编辑器默认的过滤转换机制的注释部分。在这里,将允许div转换为p的设置参数 'allowDivTransToP' 的值设置为false。默认情况下,该值为true时会自动将div转换为p,将其改为false后,这一自动转换功能将被禁用。
三、接着,定位到大约9429行的代码片段,找到处理li元素的逻辑部分。注释掉该部分代码可以保留li中的原有样式。
四、然后,前往约14058行,找到第一个使用utils.each功能的部分并注释掉。这个功能是自动为li中的内容增加一个p标签,禁用后可以避免这一自动添加行为。
五、再来到约14220行的代码处,这里有一行给ul自动添加内置样式的代码,以及紧接着的14222行,是自动去除粘贴代码的li的style样式的代码。这两行代码都可以被注释掉,以保留原始的样式设置。
六、找到大约9327行和9471行附近的代码片段:
```bash
else if (node.tagName == 'span' && (!node.attrs || utils.isEmptyObject(node.attrs))) {
node.parentNode.removeChild(node, true)
}
```
这段代码的作用是删除类似文字这样的不包含样式的元素,只留下文本内容。如果您不希望删除这些元素,也可以将其移除。
完成以上修改后,用户在粘贴HTML格式的ul和li时,Ueditor编辑器将不再进行自动的转义处理,保留了原始的HTML结构和样式。需要注意的是,以上修改是基于特定版本的Ueditor编辑器,新版本的编辑器可能在代码位置或处理方式上有所不同。
以上修改仅供参考,具体调整还需根据实际的编辑器版本和使用需求进行微调。希望这些建议能够帮助到你!
编程语言
- Ueditor百度编辑器的Html模式自动替换样式的解决方
- php使用preg_match()函数验证ip地址的方法
- 基于JavaScript中标识符的命名规则介绍
- javascript实现网页字符定位的方法
- node.js 利用流实现读写同步,边读边写的方法
- ASP常用函数-CLngIP()
- Yii框架连表查询操作示例
- 详解vue项目打包后通过百度的BAE发布到网上的流
- vue配置请求本地json数据的方法
- Laravel 实现Controller向blade前台模板赋值的四种方式
- ASP.NET项目开发中日期控件DatePicker如何使用
- JS解决IOS中拍照图片预览旋转90度BUG的问题
- 详谈jQuery.load()和Jsp的include的区别
- yii去掉必填项中星号的方法
- PHP计算一年多少个星期和每周的开始和结束日期
- ThinkPHP有变量的where条件分页实例