2016-09-29 8 views
1

すべてのコンポーネントをチェックする方法はありますか&要素はPolymerに完全にロードされていますか?私は現在、すべてのコンポーネントがポリマーに完全にロードされているときに、Polymerでバックグラウンドプロセスを実行または実行するように実装する予定です。私がPolymerで述べたように実装するためのヒントを教えてください。すべてのページがポリマーに完全にロードされていることを確認するには

+0

私は考えられません。おそらく、ページに使用されているすべての要素を検索する方法はありませんが、ロードされているかどうかはチェックされません。 –

答えて

0

すべてのカスタム要素は、カスタムシャドーDOMに更新されるまで未解決状態です。カスタム要素で、それが:defined擬似クラスによって決定されますV1、ウィッヒはquerySelectorでそれらを一覧表示させるために使用することができます:

let undefinedElements = document.querySelectorAll(':not(:defined)'); 
console.debug('undefinedElements', undefinedElements); 

ポリマー1.0 V0 APIにはそれを持っていたし、それはすることもできますので、それは、unresolved属性要素だ追加使用可能:あなたのbodyunresolved属性を追加する場合は、すべてのポリマー要素は、それはシャドウDOMだに更新されている場合

let unresolvedElements = document.querySelectorAll('[unresolved]'); 
console.debug('unresolvedElements', unresolvedElements); 

その後、ポリマーは、ページにフェードインします。

:それは最初の塗料をブロックしていますので、私は、bodyunresolvedを使用することをお勧めしませんし、ユーザーは3秒後に残します。しかし、my-element[unresolved]にCSSルールを追加してサイズを与えてください。色は読み込まれた後に表示され、ユーザーは更新されたelmentsのみを表示しますが、ページが機能するまで表示されます。

+0

すべてのカスタム要素に 'unresolved'属性があるわけではありません。 – tony19

+0

すべてのカスタム要素は、Webコンポーネントの仕様に従って ''未解決 ''を持つ必要があります。それがない場合、あなたのブラウザはすべての仕様要件を実装していません。 – adaliszk

+0

スペックはどこですか? – tony19

関連する問題