主题: 提交一个很简单,但又严重的“BUG”:浏览器直接卡死
作者: 夜猫, 发布日期: 2013-06-23 03:16:48, 浏览数: 2936

我用的是最新版本!

在“HTML代码”状态下粘贴如下代码,然后点“HTML代码”返回到内容编辑状态,此时浏览器直接卡死掉了,详细现错代码如下(注意:后面的那个?号,是造成错误的地方):

 

<IMG height=1
            src="http://s.globalsources.com/gsol/en/clean/images/BLANK.GIF"
            width=100 border=0 ?>
作者: 小浪子, 发布日期: 2013-06-23 11:01:58
呵呵。确实bug。卡死了。
回复
作者: 夜猫, 发布日期: 2013-06-23 12:26:48

我没调试环境,无法确认哪里出错;看现像估计是解析的时候出现了一个死循环

回复
作者: 夜猫, 发布日期: 2013-06-23 15:32:41

经测试,不只是那个“?”问号会出错,还有“|”“\”等字符也都会出错,说明不只是针对问号出错的。

并且,在紧跟“>”之前有空格的情况下也会出错(在“|”之后有空格也会出错):

 

<IMG height=1
            src="http://s.globalsources.com/gsol/en/clean/images/BLANK.GIF"
            width=100 border=0   |      >

回复
作者: 夜猫, 发布日期: 2013-06-23 16:15:53

之前用的浏览器是IE8,刚才试了下火狐最新版本,没有卡死的现像:

<IMG height=100
            src="http://www.baidu.com/img/bdlogo.gif"
            width=100 border=0 ?>

但是被处理成了:

<img src="http://www.baidu.com/img/bdlogo.gif" ?="" border="0" height="100" width="100">


回复
作者: Roddy, 发布日期: 2013-06-25 23:50:54
已记录。
回复
作者: 钦德孟, 发布日期: 2013-07-18 17:24:48
提交表单的时候很卡顿,响应时间过长。
回复
作者: tjx122, 发布日期: 2013-07-20 15:27:20

暂时修复方法:736行

var re = /([\s\t\n\r]*)<(\/)?([\w\-:]+)((?:\s+|(?:\s+[\w\-:]+)|(?:\s+[\w\-:]+=[^\s"'<>]+)|(?:\s+[\w\-:"]+="[^"]*")|(?:\s+[\w\-:"]+='[^']*'))*)(\/)?>([\s\t\n\r]*)/g;

替换为

var re = /([\s\t\n\r]*)<(\/?)([\w\-:]+)((?:\s+[\w\-:]+|(?:\s+[\w\-:]+\s*=\s*(?:"[^"]*"|'[^']*'|[^>\s]+)))*)\s*(\/?)>([\s\t\n\r]*)/g


提个建议能否把些非正常关闭的标签,替换掉

回复
作者: Roddy, 发布日期: 2013-10-01 00:12:27
已修复,是换行符的问题,https://github.com/kindsoft/kindeditor/issues/116
回复
发表新帖 发表回复