Mozilla开发人员文档说createShadowRoot
已弃用,而attachShadow
here虽然附加阴影的链接转到404. W3C草稿也表明正确的方式是{ {1}},here。同样,W3C问题列表提出了另一种创建和附加阴影根以实现可重用性并使主机可变的方法,正确here。
我很困惑。我应该去做,我应该放弃它,还是应该去Polyfill和Polymer等第三方;虽然后者实际上使用了一个名为Shady DOM的东西,它只是看着Shadow DOM解决的问题(不仅仅是不同但是完全相反的角度)。
如果能够讨论到最终标准的过渡时间的实际解决方案,将会非常感激。
答案 0 :(得分:0)
如果你使用聚合物,你不需要打扰。 Polymer提供了自己的API,以及polyfills浏览器的差异
如果您不想使用Polymer,您仍然可以使用web_components
polyfill并从浏览器抽象中受益。
Shady DOM是一种针对性能进行优化的polyfill,而不是完美的浏览器抽象。您必须使用Polymers API进行DOM操作,以主动使Polymer能够完成额外的工作。
您可以启用完整的Shadow DOM(有关详细信息,请参阅https://www.polymer-project.org/1.0/docs/devguide/settings.html)。在没有本机影子DOM支持的浏览器(尤其是Safari移动设备)上,这可能会更慢,但是你甚至不需要使用Polymers API就是“近乎完美”的polyfill,因为“普通”API会被polyfills打补丁。