KindEditor 的 html 标签自动解码问题

转载 2017年06月29日 18:08:39

我的博客是使用 KindEditor 编辑的。我经常会使用代码模式在<pre>标签里面写一些 html 标记,我是在输入的时候,已经使用编辑器进行了编码的,比如<p>,我输入的是&lt;p&gt;

如果文章只编辑一次,是没有问题的。但是在第二次打开,想要修改一点东西的时候,发现我输入的编码后的 html 标签被自动解码了,这样显示的文章内容就和预期不符了。

开始我以为这是 KindEditor 的 bug,在 GitHub 上 fork 了这个项目,打算修改一下。在查看源码的时候,我发现 KindEditor 在初始化的时候,会获取绑定的 textarea 标签的值。我没有查看所有的调用栈,不过我猜获取的是 value 属性,而这个属性获取到的值,就是会对 html 标签进行解码的。

既然 value 属性不能使用,那么其他属性呢?我查看了 innerText 和 innerHTML 的值,发现 innerText 获取到的值是和 value 一样的,而 innerHTML 的值刚好相反,它会把所有的 html 标签都进行编码。这样的话,这种使用 textarea 标签初始化编辑器的方式就不能使用了。

我看了一下自己写的代码,发现我提交编辑器内容的时候,使用的是 editor.html() 方法,而这个方法只要传入参数,就是设置编辑器的内容,用法和 jQuery 是一样的。于是我在服务器端没有给 textarea 赋值,而是写了一个获取文章内容的 api,ajax 请求 api,把返回的内容传给 editor.html() 方法,这样问题就解决了。不需要修改 KindEditor 的代码。

其实无论编辑器的初始化,和编辑器内容的提交,都应该使用 editor.html() 方法。因为把一个 html 文档设置为一个标签的属性也好,或者设置为子节点也好,都会带来无法解开的编码和解码的问题。为获取编辑器初始化需要的内容写一个 api 会带来多一点的编码量,但是可以完全抛开编码解码的烦恼。

原文链接:http://bibaoke.com/post/80

KindEditor保留htmltag,以及关闭html过滤

KindEditor.ready(function (K) { editor = K.create('textarea[name="content"]', { ...

在GB2312/gbk页面上使用 KindEditor 的三种方法

在 GB2312 的网页上直接使用 Kind Editor,在 IE 中可能会导致错误,这是由于无法正确识别编码造成的。 官方给出了两种解决办法: 一是给 script 标签指定 charset="...
  • heicm
  • heicm
  • 2012年02月10日 18:03
  • 2766

asp.net无法获取kindeditor文本编辑器内容的解决办法

最近使用了版本为4.1.10的kindeditor文本编辑器,在保存数据的时候,在用火狐(IE)调试时无法得到textarea文本框的值,点击表单提交按钮得到的字段值是空字符。经过上网查资料,分析原因...

如何初步安装UEditor

1、首先,将下载的UEditor解压后重新命名文件夹为ueditor放在项目公共目录,我放在Public/ueditor下 2、引入公共文件,以及设置编辑器       完整demo ...
  • yzq7890
  • yzq7890
  • 2015年03月31日 22:40
  • 984

kindeditor html代码过滤(丢失某些HTML标签)

kindeditor html代码过滤(丢失某些HTML标签)  (2014-04-26 11:23:30) 转载▼   分类: html ...

Android HTML5 Video视频标签自动播放与自动全屏问题解决

为了解决 HTML5Video视频标签自动播放与全屏问题,在网上找了很多相关资料,网上也很多关于此问题解决方法,但几乎都不能解决问题,特别对各大视频网站传回来的html5网页视频自动播放与全屏问题,我...

HTML中P标签自动换行,浏览器补全P标签时的问题

在HTML5中p是块级元素。代表一个段落,段落里面的文字在达到右边界的时候会自动换行; 在页面中如果没有设置,会强制换行; 正确的书写:我是一个p标签如果书写的过程中没有加结束标签”/p”,浏览器...
  • J_Y_X_8
  • J_Y_X_8
  • 2016年04月29日 11:42
  • 3567

javascript处理HTML的Encode(转码)和Decode(解码)总结,避免js脚本注入问题

HTML的Encode(转码)和解码(Decode)在平时的开发中也是经常要处理的,在这里总结了使用javascript处理HTML的Encode(转码)和解码(Decode)的常用方式 一、用浏览器...

kindEditor编辑器用jsp标签引用

  • 2010年07月04日 12:28
  • 852KB
  • 下载

HTML5 video 标签浏览器兼容问题

HTML5 video 标签浏览器兼容问题 小示例代码地址:https://github.com/danhuan/video-demo IE8、火狐、谷歌测试通过。使用需要注意的问题:1.多种格式视...
  • danhuan
  • danhuan
  • 2017年07月21日 17:53
  • 1022
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:KindEditor 的 html 标签自动解码问题
举报原因:
原因补充:

(最多只允许输入30个字)