http://www.w3.org/TR/DOM-Level-2-Traversal-Range/
我们需要找到/编写一个测试套件。
呃,那个规格让我眼睛流血
是的,我很害怕在没有 w3c 测试套件的情况下实现它
到目前为止我发现了什么:
这看起来很有希望: https :
请注意,那些在http://dom.spec.whatwg.org/测试“无版本 DOM”而不是专门测试级别 2。 但是,它们更有可能反映真实的浏览器。
我基本上已经完成了主要功能,但是我在保持范围活动方面遇到了很多问题。 我需要利用基本上每个 DOM 突变,但我不确定这样做的最佳方法。 在某些情况下,我使用了突变事件,在其他情况下,我将相应的方法包装在原型上。
现在我想知道如何进行节点删除。 设置suppress observers flag
,事件不会被发出,但范围仍需要更新。 有没有人有任何想法? 我想也许我们应该在整个 DOM 中为此类事情提供一个非常简单的内部事件系统; 例如,它也可以用于_attrModified
。
@adrianlang太棒了!
这似乎与我们长期以来的愿望有关,即不再在内部使用突变事件,而是拥有一个永远无法禁用的私有协议。 见#295。 我知道有很多问题要问,但是解决这个问题可能是解决问题的方法?
垃圾邮件 +1 评论会导致功能移到待办事项的后面。 请改用投票按钮。 删除最近的 +1。
顺便说一句,我还在那里,就像我的半成品代码一样。 我希望最终能完成这件事。
@adrianheine 落地的 TreeWalker 实施是否有助于您更接近完成实施?
我有时使用Range#createContextualFragment
,我真的不知道为什么这个有用的方法存在(它应该直接在文档或 DocumentFragment 上)
所以我最终这样做是为了测试
global.document.createRange = () => ({
createContextualFragment: str => JSDOM.fragment(str)
});
但是所有的 Range API 会更多
@domenic我认为@acusti 想问的是接下来要验证的步骤是什么?
我正在尝试使用这个:
https://github.com/PrismJS/prism/issues/896
有人可以推荐替代路径吗? 我喜欢使用 Prism 突出显示差异和语法突出显示的想法。 甚至可能比 Github 的荧光笔更好。
我愿意访问https://www.patreon.com/的另一个原因是不再使用 SourceTree。
@adrianheine如果您分享您的 WIP,我可能有兴趣提供帮助。
在玩笑测试中出错。
TypeError: document.createRange is not a function
at createRange (node_modules/popper.js/src/utils/findCommonOffsetParent.js:27:26)
at findCommonOffsetParent (node_modules/popper.js/src/utils/getReferenceOffsets.js:16:85)
at Popper.getReferenceOffsets (node_modules/popper.js/src/methods/update.js:29:28)
at Popper.call (node_modules/popper.js/src/index.js:94:19)
at node_modules/popper.js/dist/umd/popper.js:51:7
在这里找到链接
你好,请问有什么进展吗?
什么时候发布? 所以 jest 可以升级到最新版本。
最有用的评论
https://mobile.twitter.com/slicknet/status/782274190451671040