DOM级别2(或更好?)的JavaScript实现

DOM级别2(或更好?)的JavaScript实现,javascript,dom,cross-browser,Javascript,Dom,Cross Browser,由于我收到的评论,我正在寻找一个在所有常见浏览器中运行的DOM的纯javascript实现。请注意,我不想和浏览器交互DOM的实现,甚至不想通过jQuery。我在找一个完全的替代品 编辑:因为不常见的问题偶尔会遭到批评,所以我将尝试解释为什么我需要这样做。我正在编写一个富文本编辑器,它需要一些非常特定的功能,浏览器之间的实现差异导致我无法依赖它们来实现一致性。请参阅与我的需求相关的另一个问题的答案,其中详细说明了为什么这是必要的。是这个问题的标准答案。是另一个问题,但我不知道有谁在使用它,所以我

由于我收到的评论,我正在寻找一个在所有常见浏览器中运行的DOM的纯javascript实现。请注意,我不想和浏览器交互DOM的实现,甚至不想通过jQuery。我在找一个完全的替代品


编辑:因为不常见的问题偶尔会遭到批评,所以我将尝试解释为什么我需要这样做。我正在编写一个富文本编辑器,它需要一些非常特定的功能,浏览器之间的实现差异导致我无法依赖它们来实现一致性。请参阅与我的需求相关的另一个问题的答案,其中详细说明了为什么这是必要的。

是这个问题的标准答案。是另一个问题,但我不知道有谁在使用它,所以我怀疑它是否经过了很多测试。

@pst我对我的问题进行了编辑,这样也许我可以得到一些认真的考虑,而不仅仅是否决票。如果您仍然认为这是不必要的,那么我将把您的智慧传递给CKEditor的一位创建者。我没有投反对票,但这总是有助于解释一个实际原因:考虑到编辑器严重依赖于用户交互,我不认为仅仅用DOM 2替换是可行的。。正如链接答案中所讨论的,这是一系列跨浏览器的黑客行为。这是一个很棒的问题!我不明白人们为什么投反对票+1@pst捕捉关键点笔划,以便我可以操纵自己的DOM。复制、粘贴、撤消和重做将使用启用contentEditable的DOM变体观察程序,并将这些差异更改应用于我自己的DOM。对我的DOM所做的更改会触发对浏览器DOM的更新。这应该使我能够严格控制编辑时发生的事情,并向webapp的主机发送/接收差异更改。CKEditor的文档讨论了一种类似的方法——控制浏览器的支持HTML/DOM实现。感谢您的指导。在普通浏览器中,我关心这两个问题。它们都是为node.js设计的,我很难在这个环境之外找到更多关于它们成功的讨论。