"同じ" HTML要素をページの複数の場所に表示したいと思います。 この要素はスクリプト化/アニメーション化されており、さまざまなレンダリングを同期させておく必要があります。私が検討している可能であれば影を使用してHTML要素をミラーリングするDOM
ソリューションが含まれます:
- は、複数の場所で要素のコピーを入れて、それらのすべてを更新します。これは私が避けようとしていることです。
- 要素のコピーを複数の場所に配置します。コピーの1つを更新し、突然変異イベントを使用してそれらの変更をキャプチャし、他のコピーに対して再生します。たくさんの仕事のようです。
- シャドウDOMを使用します。私は、最初に可能であるように思われるこの代替案に対して、ここでのDOMサブツリーがそこのDOMサブツリーに仮想的に配置されることを可能にする「挿入ポイント」を使用しています。
私はこの最後の選択肢であるavailable in Chrome 25をテストしていません。 W3C specは言う:特別な配慮に値する
一つのケースは 挿入ポイントが別のシャドウホストの子ノード...ノードが に複数の挿入ポイントに配布されるの効果がある状況がありますは再投影と呼ばれます。
しかし、その後... 再投影中に複数の挿入ポイントに配布されているにもかかわらず
、ノードのため再投影が起こる下 制約から、まだ一度だけレンダリングされます: の挿入ポイントは、 シャドウホストの子である場合に再投影の対象になるため、決してレンダリングされません。その代わりに、シャドウツリーは がレンダリングされています。
シャドーDOMが私の望むことを実行する可能性が高く、テストする価値はあるのでしょうか、それとも他に推奨される方法がありますか?
シャドウDOMの内容が変更された場合、再レンダリングされませんか? – Michael
Shadow DOMの内容が変更された場合、レンダリングされます。しかし、Shadow DOMを含むDOMのレンダリングでは、要素は1つのインスタンスでのみ表示されます。同時に複数のコンテンツのプレゼンテーションはありません。 –