首页建站经验 解决KindEditor4.1.3图片和链接属性中冒号被替换为%3A的问题

解决KindEditor4.1.3图片和链接属性中冒号被替换为%3A的问题

KindEditor4.1.3可能在链接地址的escape上出了点问题,发过的帖子再编辑时修改帖子中链接或图片的src时url中的:会被escape,变为%3A,虽然不影响编辑后的结果,但难免看起来会引起…

KindEditor4.1.3可能在链接地址的escape上出了点问题,发过的帖子再编辑时修改帖子中链接或图片的src时url中的:会被escape,变为%3A,虽然不影响编辑后的结果,但难免看起来会引起误会。

解决KindEditor4.1.3图片和链接属性中冒号被替换为%3A的问题

看了下KE的源码,发现问题出在beforeSetHtml方法中,下面是此方法代码:

self.beforeSetHtml(function(html) {        return html.replace(/]*type="([^"]+)"[^>]*>(?:)?/ig, function(full) {            var attrs = _getAttrList(full);            attrs.src = _undef(attrs.src, '');            attrs.width = _undef(attrs.width, 0);            attrs.height = _undef(attrs.height, 0);            return _mediaImg(self.themesPath + 'common/blank.gif', attrs);        })        .replace(/]*name="([^"]+)"[^>]*>(?:)?/ig, function(full) {            var attrs = _getAttrList(full);            if (attrs.href !== undefined) {                return full;            }            return '';        })        .replace(/]*)>([/s/S]*?)/ig, function(full, attr, code) {            return '

' + escape(code) + '

'; }) .replace(/]*)>([/s/S]*?)/ig, function(full, attr, code) { return '

' + escape(code) + '

'; }) .replace(/(<[^>]*)(href|src)="([^"]*)"([^>]*>)/ig, function(full, start, key, src, end) { if (full.match(//sdata-ke-src="[^"]*"/i)) { return full; } full = start + key + '="' + src + '"' + ' data-ke-src="' + escape(src) + '"' + end; return full; }) .replace(/(<[^>]+/s)(on/w+="[^"]*"[^>]*>)/ig, function(full, start, end) { return start + 'data-ke-' + end; }) .replace(/]*/s+border="0"[^>]*>/ig, function(full) { if (full.indexOf('ke-zeroborder') >= 0) { return full; } return _addClassToTag(full, 'ke-zeroborder'); }); });

问题是由下面这一行代码导致的,DEBUG了下,这里的escape是浏览器的native方法,而不是K.escape:

full = start + key + '="' + src + '"' + ' data-ke-src="' + escape(src) + '"' + end;

解决方法:

将escape(src)改为src或者_escape(src),错新网上编辑器已更新。

本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/jianzhan/jingyan/15507.html
上一篇&lt; meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" /&gt;
下一篇 MySQL模糊查询(like)时区分大小写
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部