在FCKeditor中插入到最后
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,正如答案所暗示的那样,但我不能相信这是“幸福”的方式。 这意味着浏览器应该销毁它拥有的所有内容并从头开始重新解析文档。 那可不好。 例如,我希望这会破坏撤消堆栈。
FCKeditor has InsertHtml API (JavaScript API document) that inserts HTML in the current cursor position. How do I insert at the very end of the document?
Do I need to start browser sniffing with something like this
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 ) ;
}
or is there a blessed way that I missed?
Edit: Of course, I can rewrite the whole HTML, as answers suggest, but I cannot believe that is the "blessed" way. That means that the browser should destroy whatever it has and re-parse the document from scratch. That cannot be good. For example, I expect that to break the undo stack.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
将有问题的行
:element.insertAdjacentHTML('beforeBegin', html);
替换为以下 jquery 代码:
replace the buggy line
:element.insertAdjacentHTML('beforeBegin', html);
with this jquery code:
看起来您可以使用 GetHTML 和 SetHTML 的组合来获取当前内容,附加您的 html 并将所有内容重新插入编辑器中。 虽然它确实说
希望有帮助!
It looks like you could use a combination of GetHTML and SetHTML to get the current contents, append your html and reinsert everything into the editor. Although it does say
Hope that helps!