阴影DOM在多大程度上可以用多边形来模拟?



影子DOM W3C草案可以在JavaScript中通过提供搜索和遍历DOM的自定义函数来填充吗?这样做了吗?我所发现的尝试都是相当温和的垫片,似乎没有做出太多努力来模仿规格。

我知道这不是一件容易的事,但肯定有人已经考虑过了吧?

过去几个月我一直在研究这个问题。

底线是有一个在常绿浏览器上工作的填充https://github.com/webcomponents/polyfills/tree/master/packages/webcomponentsjs

^像@host这样的CSS特性的填充还没有在那里,很快就会到来

所以,是的,这是一件很难的事情,特别是因为我们必须发明二级DOM树。我们试图使它尽可能地用户友好,这需要使用一种相当侵入性的包装技术。

换句话说,如果您使用div = document.createElement('div'),您将得到一个看起来像DIV并像DIV一样工作的东西,但实际上是一个Wrapper对象。当然,最终的目标是让你的代码看起来是一样的,无论它是在polyfill下运行还是在本机实现下运行。

它不是100%防弹的。特别是,我们不可能为你包装document,所以你必须自己做,有点像这样:

wrap(document).querySelector(...)

除了document问题,包装器的目的是透明地工作。这些都是全新的,所以我很抱歉缺少医生。我们正在努力解决这个问题。

如果您有疑问或问题,请提交问题,我们喜欢得到反馈。还有一个电子邮件通道用于讨论这个填充(以及该组织中的其他填充):polymer-dev@googlegroups.com。

我怀疑这个东西是否被广泛实现

最新更新