2013-10-06 71 views
1

我現在檢查聚合物。它有一些令人興奮的功能。 我有一個自定義元素訪問一些分佈式節點,使用getDistributedNodes。 在鉻和火狐getDistributedNodes返回一個數組,而不是一個NodeList,但在鉻金絲雀我得到一個NodeList內容getDistributedNodes在firefox/chrome中的數組,但在金絲雀NodeList

沒有聚合物(更簡單的例子只使用shadowDom和沒有自定義元素)我得到了在鉻穩定和鉻金絲雀NodeList。

其中哪一個應該是正確的返回值,是什麼原因造成的?

here is a jsfiddle with Polymer

and without Polymer, no custom element, works only with native shadowDom support, so no firefox)

回答

2

這是因爲在鉻(穩定)等瀏覽器,聚合物利用Shadow DOM填充工具,它包裝DOM對象。你本身不能創建一個NodeList,所以這個調用通過返回一個數組來最好地模仿本地API。

在Canary下(在about:flags中有「Experimental Web Platform features」),Polymer將使用原生的Shadow DOM,原因是Canary有許多新的Shadow DOM特性/修復/ perf優化,他們的方式,以穩定的渠道呢,我們正積極強制polyfill,直到它達到穩定:)

+0

非常感謝你,我看到有本地陰影DOM在鉻,但我猜這是不可用。 – GuiDocs