Javascript 在FCKeditor的最末端插入

Javascript 在FCKeditor的最末端插入,javascript,dom,plugins,fckeditor,Javascript,Dom,Plugins,Fckeditor,FCKeditor具有InsertHtml API(),可在当前光标位置插入HTML。如何在文档末尾插入 我需要用这样的东西开始浏览器嗅探吗 if ( element.insertAdjacentHTML ) // IE element.insertAdjacentHTML( 'beforeBegin', html ) ; else // Gecko { var oRange = document.cr

FCKeditor具有InsertHtml API(),可在当前光标位置插入HTML。如何在文档末尾插入

我需要用这样的东西开始浏览器嗅探吗

if ( element.insertAdjacentHTML )    // IE 
    element.insertAdjacentHTML( 'beforeBegin',  html ) ; 
else                                // Gecko 
{ 
    var oRange = document.createRange() ; 
    oRange.setStartBefore( element ) ; 
    var oFragment = oRange.createContextualFragment( html ); 
    element.parentNode.insertBefore( oFragment,  element ) ; 
} 
还是我错过了一条幸福的道路


编辑:当然,正如答案所示,我可以重写整个HTML,但我不能相信这是“幸运的”方式。这意味着浏览器应该销毁它所拥有的一切,从头开始重新解析文档。这不可能是好事。例如,我希望这会破坏撤销堆栈。

看起来您可以使用GetHTML和SetHTML的组合来获取当前内容,附加html并将所有内容重新插入编辑器。虽然上面说

请注意,使用此方法时,您将丢失以前在editor.EditorDocument上注册的所有侦听器


希望有帮助

替换错误行
:element.insertAdjacentHTML('beforebeagin',html)

var oEditor = FCKeditorAPI.GetInstance('Editor_instance') ;
    OldText=oEditor.GetXHTML( true );

    oEditor.SetData( OldText+"Your text");
使用此jquery代码:

try {
      $(html).insertBefore($(element));
      // element.insertAdjacentHTML('beforeBegin', html);

} catch (err) { }