Shadow DOM可以在多大程度上使用polyfill进行模拟?

时间:2013-03-20 00:21:49

标签: javascript dom4 shadow-dom toolkitchen

通过提供用于搜索和遍历DOM的自定义函数,可以在JavaScript中填充Shadow DOM W3C草案吗?这已经完成了吗?我发现的尝试是相当温顺的垫片,并且似乎没有做出太多努力来模仿规范。

我很欣赏这不是一件容易的事,但当然有人给了它一个彻底的考虑?

1 个答案:

答案 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中。