通过提供用于搜索和遍历DOM的自定义函数,可以在JavaScript中填充Shadow DOM W3C草案吗?这已经完成了吗?我发现的尝试是相当温顺的垫片,并且似乎没有做出太多努力来模仿规范。
我很欣赏这不是一件容易的事,但当然有人给了它一个彻底的考虑?
答案 0 :(得分:26)
过去几个月我一直在研究这个问题。
底线有一个在常绿浏览器上运行^的填充物https://github.com/Polymer/ShadowDOM
^像@host这样的CSS功能的填充还没有,很快就会出现
所以,是的,polyfill很难,特别是因为我们必须发明二级DOM树。我们试图使其尽可能方便用户,这需要使用相当有创的包装技术。
换句话说,如果你div = document.createElement('div')
,你得到的东西看起来像DIV,就像DIV一样,但实际上是一个Wrapper对象。当然,最终的目标是让您的代码在polyfill下运行或在本机实现下运行时看起来一样。
这不是100%防弹,特别是我们不能为你包裹document
,所以你必须自己做,一个la:
wrap(document).querySelector(...)
除document
问题外,包装器旨在透明地工作。这都是全新的,所以我为缺乏文档而道歉。我们正在谈论这个问题。
请file issues如果您有任何疑问或问题,我们很乐意收到反馈。还有一个电子邮件渠道,可通过polymer-dev@googlegroups.com讨论此polyfill(以及该组织中的其他polyfill)。
我怀疑这些东西被广泛实施
是的,但至少在Chrome中。