FF的安全限制比IE高,不支持execCommand.

解决方案 »

  1.   

    google一下,看FF下有没有在线编辑器。
      

  2.   

    FCK没研究出结果来,看着复杂
      

  3.   

    FF是可以的,需要使用一个paste什么的对象,很久没用记不太清楚了。你可以查找一下FF下可编辑iframe的资料。
      

  4.   

    看到CSDN里的博客没,用的不就是FCK?
      

  5.   

    它在firefox下啥功能都不支持。我现在要做的工作就是在论坛编辑框以及所有有输入框的地方插入文本,在firefox下如果不用鼠标点击,只能用obj.document.body.innerHTML设置,但设置文本后鼠标不能聚焦,接下来程序就没办法插入文本了,而不是键盘输入。
      

  6.   

    搞了半天,就这点没搞懂,竟然成功了,郁闷....心态不行啊,来来回回看FCK代码三次了,这次总算看到点上了,感谢大家。散分。心情不错,呵呵~~~
    oSel.removeAllRanges() ;
    oSel = FCK.EditorWindow.getSelection() ;
    oSel.addRange( oRange ) ;
    FCK.InsertHtml = function( html )
    {
    // Delete the actual selection.
    var oSel = FCKSelection.Delete() ;

    // var oContainer = oSel.getRangeAt(0).startContainer ;
    // var iOffSet = oSel.getRangeAt(0).startOffset ;

    // Get the first available range.
    var oRange = oSel.getRangeAt(0) ;

    // var oRange = this.EditorDocument.createRange() ;
    // oRange.setStart( oContainer, iOffSet ) ;
    // oRange.setEnd( oContainer, iOffSet ) ;

    // Create a fragment with the input HTML.
    var oFragment = oRange.createContextualFragment( html ) ;

    // Get the last available node.
    var oLastNode = oFragment.lastChild ; // Insert the fragment in the range.
    oRange.insertNode(oFragment) ;

    // Set the cursor after the inserted fragment.
    oRange.setEndAfter( oLastNode ) ;
    oRange.setStartAfter( oLastNode ) ;

    oSel.removeAllRanges() ;
    oSel = FCK.EditorWindow.getSelection() ;
    oSel.addRange( oRange ) ;

    this.Focus() ;
    }
      

  7.   

    在Firefox中可以先理解range和 Selection。当鼠标点下时就形成了一个Reage。也就是startOffset和endOffset事相同的。接下来可以通过对DOM树中的TextNode的处理来得到坐标。可以的。公司的就是这样弄的