ページの複数の場所で「同じ」HTML 要素をレンダリングしたいと考えています。この要素はスクリプト化/アニメーション化されており、さまざまなレンダリングを同期させる必要があります。
私が検討した解決策は次のとおりです。
- 要素のコピーを複数の場所に配置し、それらすべてを更新します。これは私が避けようとしているものです。
- 要素のコピーを複数の場所に配置します。コピーの 1 つを更新し、ミューテーション イベントを使用してそれらの変更をキャプチャし、他のコピーに対して再生します。大変な作業のようです。
- シャドウ DOM を使用します。私はこの代替手段に大きな期待を寄せていましたが、最初は「挿入ポイント」を使用して可能に見えました。これにより、ここの DOM サブツリーをあそこの DOM サブツリーに仮想的に配置できます。
Chrome 25 で利用可能なこの最後の代替手段はテストしていません。W3C仕様には次のように書かれています:
特別な考慮に値する 1 つのケースは、挿入ポイントが別のシャドウ ホストの子ノードである場合です。ノードが複数の挿入ポイントに分散されることの影響は、再投影と呼ばれます。
しかしその後...
再投影中に複数の挿入ポイントに分散されるにもかかわらず、再投影が発生する制約のために、ノードはまだ 1 回だけレンダリングされます。挿入ポイントはシャドウ ホストの子である場合にのみ再投影の対象となるため、それらは決してレンダリングされません。代わりに、シャドウ ツリーがその場所にレンダリングされます。
Shadow DOM は私が望むことを実行する可能性が高く、テストする価値があると思われますか、それとも他の推奨されるアプローチはありますか?