原生支持
下面的特征已经被实现了并且默认在 Firefox and Firefox OS 中被激活:
- {{HTMLElement("template")}}
即将到来的特征
- 一个实现关于新的 Shadow DOM 共识有望在2016年第一季度达成; Anne's 和 Wilson's 的博客讲述了这些细节。 这依然有 大量的讨论和公开问题 关于这个规范.。并且所有的浏览器实现被有望在未来得到更新.
- 自定义元素 是从头开始, 用一种方式来重建它们使用 ECMAScript 6 “class” 语法 (换而言之, 更少的使用基于原型的语法). 苹果公司的 Ryosuke Niwa 正在填补某些实验性功能使用新的途径.
- 旧的语法将可以与新的语法一起在Chrome 中工作一段时间(例如, {{domxref("Element.createShadowRoot()")}} 对应 {{domxref("Element.attachShadow()")}}), 但不能原生的在Firefox中工作。
- 这将会有一个供应商 面对面交流的机会在2016年一月 来讨论问来会出现的问题 。
被摒弃的功能
这些功能已被考虑实现了, 并且有些是实验性实现。但他们将会永远不被实现, 或者被删除。
- HTML imports, 因为我们想等着看看开发者如何使用ES6 模块 (虽然还没有实现; 查看 {{bug(568953)}}). imports是一个早期未完成实现,并且将会被删除从Firefox中。
在Firefox中使用垫片
这有些注意事项在Firefox中使用垫片的时候:
- 当你激活原生Web容器支持在Firefox中通过设置 {{pref("dom.webcomponents.enabled")}} 偏好 为
true
在about:config 中
, 这个未完成的原生实现开始运作并且垫片可能会出现混淆; 这会有很大的可能性出现崩溃. - 一个使用 webcomponents.js 垫片生成的Shadow DOM 并没有完全包裹样式, 所以这个 样式 可能会溢出。 要注意使用垫片构建的网址当运行在不支持原生Shadow DOM的环境之下时可能会出现差异.
- 这个Shadow DOM 垫片运行时非常缓慢的以为他重写了DOM元素的原型来挂在它的功能 。
- 如果你不需要使用 Shadow DOM, 使用 webcomponents-lite.js 版本的 webcomponents.js 垫片是一个名明智的选择; 这个版本不填补 Shadow DOM.