CKEditor错误,未捕获的IndexSizeError:无法执行'扩展' on' Selection':1大于给定节点的长度

时间:2015-04-27 04:01:02

标签: ckeditor

设置blurDelay = 0后,单击Bold并单击工具栏中的粘贴,它将抛出以下错误。

未捕获的IndexSizeError:无法执行'扩展' on' Selection':1大于给定节点的长度。

CK版本:" 4.4.6",修订版:" 08188c4"

只有Chrome,IE和FF才能正常

jsfiddle:http://jsfiddle.net/mfine2/98rwv6Lt/

错误提示:http://dev.ckeditor.com/ticket/13241

Javascript代码。

CKEDITOR.focusManager._.blurDelay = 0; 

var ck = CKEDITOR.replace( 'editor1', {
    fullPage: true
});

ck.on( "blur", function( evt ){
    console.log(this.getData());
});

2 个答案:

答案 0 :(得分:1)

我已检查过您的测试用例,并且仅在Blink浏览器中抛出错误(IE和FF工作正常)但您正在操纵私有财产 http://docs.ckeditor.com/#!/api/CKEDITOR.focusManager._-property-blurDelay 仅供内部使用CKEditor

我们使用像这样的属性的原因之一是摆脱浏览器之间的微妙差异或在某些情况下可能抛出的错误。 当您保持此属性不受影响时,没有错误,我认为总结一下。您不应该操纵编辑器内部属性。

答案 1 :(得分:1)

您遇到的问题可能与: https://github.com/ryancramerdesign/ProcessWire/issues/1335

  

问题是CKEditor的getData()方法在某些条件(如插入图像)之后在字段模糊之前调用时失败(并产生JS错误)

这是影响铬,歌剧和野生动物园的错误。抛出相同的JS错误。
自CKE v4.5.5以来修复了错误

虽然仍然需要修改blurDelay进行测试。