2010-05-11 55 views
2

与Chrome(v.4.1)中的标题一样,多个tinyMce(v2.08)实例不起作用。确切的说在前两种情况下都行,别人没有,铬给出了这样的错误:多个tinyMce实例不能在chrome中工作

Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1

出现这种情况之前?

不幸的是,我无法向您显示任何代码,因为它是针对管理员区域的,我现在只需要一些线索。

+1

我有完全相同的问题(2.08以及)。失败的行在getRng()函数中: return s.getRangeAt(0); – konryd 2010-06-10 15:22:22

+0

你试过这个吗? Opera中的TinyMCE JavaScript错误(getRangeAt,INDEX_SIZE_ERR): http://my.opera.com/XP1/blog/2011/07/21/tinymce-javascript-error-in-opera-getrangeat-index-size-err – XP1 2011-07-23 12:21:00

回答

1

是的,作为用户XP1指出,在这个环节,你可以找到一个comprimed TinyMCE的源解析: http://my.opera.com/XP1/blog/2011/07/21/tinymce-javascript-error-in-opera-getrangeat-index-size-err

但是,如果你想与原uncomprimed源工作(它只是更容易一点),这里是解决方案: 查找代码 “setRng:函数(R){”(不带引号),并交换了整个函数:

setRng : function(r) { 
     var s, t = this; 

     if (!t.tridentSel) { 
      s = t.getSel(); 

      if (s)    // this block fixed according to TinyMCE JavaScript error in Opera (getRangeAt, INDEX_SIZE_ERR); http://my.opera.com/XP1/blog/2011/07/21/tinymce-javascript-error-in-opera-getrangeat-index-size-err 
      { 
       if(s.anchorNode === null && s.focusNode === null) 
       { 
        t.explicitRange = r; 
        try { 
         s.removeAllRanges(); 
        } catch (ex) { 
         // IE9 might throw errors here don't know why (NOW WE KNOW WHY DAMMIT!) 
        } 
        s.addRange(r); 
       } 
       if (s.rangeCount > 0) 
       t.selectedRange = s.getRangeAt(0); 
      } 
     } else { 
      // Is W3C Range 
      if (r.cloneRange) { 
       t.tridentSel.addRange(r); 
       return; 
      } 

      // Is IE specific range 
      try { 
       r.select(); 
      } catch (ex) { 
       // Needed for some odd IE bug #1843306 
      } 
     } 
    }, 

ONE注:请确保变量匹配。我不确定它是如何在不同的TinyMCE版本之间进行的,但是脚本文件的comprimed和src突变之间的变量并不相同。

保重和上帝的速度