2016-02-03 45 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修補。

相關問題