文章摘要
这篇文章主要讲述了如何通过修改SEO插件的代码,以保护用户粘贴进来的原始内容。具体修改包括:
1. **修改div转p功能**:将默认将div转换为p的设置从true改为false,防止div被自动转为p。
2. **注释相关函数**:注释了几个自动生成p标签的函数,以及删除了自动去除粘贴代码的逻辑。
3. **删除特定注释**:删除了删除不带样式的li标签的功能,以及修改类名的代码,避免将粘贴的内容进行转义。
4. **删除多余条件语句**:删除了部分多余的功能判断,确保粘贴进来的html格式内容不会被处理,从而保护原始内容。
这些修改的目的是确保SEO插件不会对用户粘贴进来的内容进行转义,从而保护用户的原始内容不受搜索引擎爬虫的干扰。这些修改基于1.3.6版本,适用于当前版本的SEO插件。
一、打开ueditor.all.js
二、大概9300行找到 ///plugin 编辑器默认的过滤转换机制,把下面的
‘allowDivTransToP’:true
值改成false。为true的时候会自动把div转成p。
三、大概9429行,有个case ‘li’,这个是把li里面的样式去掉,把这个case注释掉。
四、大概14058行,下面的第一个utils.each功能注释掉,这个是自动给li里面的内容增加一个p。
五、大概14220行,
node.className=utils.trim(node.className.replace(/list-paddingleft-\w+/,”)) + ‘ list-paddingleft-‘ + type;
注释掉,这个是自动给ul增加一个内置的样式。
下面的14222行
li.style.cssText && (li.style.cssText=”);
注释掉,这个是自动去除粘贴进去的代码的li的style样式
六、大概9327行和9471行附近的
else if (node.tagName==’span’ && (!node.attrs || utils.isEmptyObject(node.attrs))) {
node.parentNode.removeChild(node, true)
}
node.parentNode.removeChild(node, true)
}
去掉,这是代码中如果有类似文字这样的不包含样式的元素将会被删掉只保留文字。
至此,我们粘贴进去的html格式的ul和li就不会被转义了。
PS:以上版本修改基于1.3.6版本。新版本位置可能有变动或者已经解决此问题。
© 版权声明
文章版权归作者所有,未经允许请勿转载。