FCKeditor具有InsertHtml API( JavaScript 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,但我不敢相信那是“祝福”的方式。 这意味着浏览器应销毁所有内容,然后从头开始重新解析文档。 那不是很好。 例如,我希望这会破坏撤消堆栈。

===============>>#1 票数:2

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

请注意,使用此方法时,您将失去之前可能已在editor.EditorDocument上注册的所有侦听器。

希望有帮助!

===============>>#2 票数:1

替换越野车线:element.insertAdjacentHTML('beforeBegin', html);

与此jQuery代码:

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

} catch (err) { }

===============>>#3 票数:1

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

    oEditor.SetData( OldText+"Your text");

  ask by buti-oxa translate from so

未解决问题?本站智能推荐: