Jsdom: 实现范围和遍历

创建于 2011-09-21  ·  18评论  ·  资料来源: jsdom/jsdom

http://www.w3.org/TR/DOM-Level-2-Traversal-Range/

  • https://dom.spec.whatwg.org/#ranges
  • https://dom.spec.whatwg.org/#traversal

我们需要找到/编写一个测试套件。

feature needs tests

最有用的评论

所有18条评论

呃,那个规格让我眼睛流血

是的,我很害怕在没有 w3c 测试套件的情况下实现它

到目前为止我发现了什么:

  • 似乎存在某种 W3C 测试套件,但它显然从未发布过。 至少 Xerces 开发人员掌握了它。 我联系了 Xerces 的迈克尔,也许他能帮上忙。
  • Xerces 有名为range、traversal 和 treewalker 的测试; 其中一些可能会有所帮助
  • 此外, Acid3对这个模块有一堆复杂的测试

这看起来很有希望: 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 可以升级到最新版本。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

tolmasky picture tolmasky  ·  4评论

khalyomede picture khalyomede  ·  3评论

vsemozhetbyt picture vsemozhetbyt  ·  4评论

jacekpl picture jacekpl  ·  4评论

amfio picture amfio  ·  3评论