2016-02-03 20 views
4

Mozilla开发者文档说,createShadowRoot是赞成attachShadowhere弃用虽然附加的阴影去404 W3C草案的联系也表明,正确的方法是attachShadowhere。 W3C的问题清单再次提出了另一种创建AND附加阴影根的方法,以便重用,并使主机可变,正确herecreateShadowRoot VS attachShadow

我很困惑。我应该去为它,我应该放弃它,或者我应该去像Polyfill和Polymer第三方;尽管后者实际上使用了一些名为Shady DOM的东西,它只是查看Shadow DOM地址(不仅仅是不同但是)完全相反的问题。

如果能够讨论到最终标准的过渡时间的实际解决方案,将会非常感激。

+0

你应该去吗?谁知道?你究竟需要什么,如果只是为了玩耍,几乎没有浏览器支持这个,所以去做吧,如果是用于制作,那么现在应该保持很远的距离,直到实际上有一个规范,并且至少对shadow DOM的一些支持 – adeneo

+0

@ adeneo谢谢!我打算开始构建一个新的Web应用程序,考虑到插件的复杂性及其对彼此的负面影响,至少从使用shadow dom提供的封装来保护我的代码免受插件的影响似乎是一个很好的解决方案。看到草案和练习的状态让我感到困惑。 作为临时修复,我制作了attachShadow的别名。但是我不知道从长远来看会发生什么,在常规搜索中找不到任何东西,所以我在这里寻找SO的答案。 – Cunning

回答

0

如果你使用聚合物,你不应该打扰。 Polymer提供它自己的API,并填充浏览器差异。
如果你不想使用聚合物,你仍然可以使用web_components polyfills并受益于浏览器抽象。

Shady DOM是一个针对性能进行优化而不是完美的浏览器抽象的polyfill。您必须使用Polymers API进行DOM操作,以主动使Polymer能够完成额外的工作。

您可以启用完整的Shadow DOM(有关详细信息,请参见https://www.polymer-project.org/1.0/docs/devguide/settings.html)。在没有本地影子DOM支持(尤其是Safari移动版)的浏览器上,这可能会比较慢,但是它是一种“近乎完美”的填充,您甚至不需要使用Polymers API,因为“正常”API由polyfills修补。

相关问题