DOM を検索およびトラバースするためのカスタム関数を提供することで、Shadow DOM W3C ドラフトを JavaScript でポリフィルできますか? これは行われましたか?私が見つけた試みはかなりおとなしいシムであり、仕様をエミュレートするために多くの努力をしていないようです.
これが簡単な作業ではないことは承知していますが、誰かが十分に検討したのではないでしょうか?
DOM を検索およびトラバースするためのカスタム関数を提供することで、Shadow DOM W3C ドラフトを JavaScript でポリフィルできますか? これは行われましたか?私が見つけた試みはかなりおとなしいシムであり、仕様をエミュレートするために多くの努力をしていないようです.
これが簡単な作業ではないことは承知していますが、誰かが十分に検討したのではないでしょうか?
私はここ数ヶ月、まさにこの問題に取り組んできました。
要するに、エバーグリーン ブラウザーで動作するポリフィルがここにあります https://github.com/webcomponents/polyfills/tree/master/packages/webcomponentsjs
^ @host のような CSS 機能のポリフィルはまだありません。
そうです、ポリフィルを作成するのは難しいことです。特に、セカンダリ DOM ツリーを作成する必要があるためです。可能な限りユーザーフレンドリーにするために、かなり侵襲的なラッパー技術を使用する必要がありました。
つまり、 の場合div = document.createElement('div')
、DIV のように見え、DIV のように機能しますが、実際には Wrapper オブジェクトです。もちろん、最終的な目標は、コードがポリフィルの下で実行されているか、ネイティブ実装の下で実行されているかに関係なく、同じように見えるようにすることです。
100%防弾ではありません。特に、私たちがdocument
あなたに代わってラップすることはできないので、次のように自分でラップする必要があります:
wrap(document).querySelector(...)
このdocument
問題を除けば、ラッパーは透過的に動作することを意図しています。これはすべて真新しいため、ドキュメントが不足していることをお詫びします。私たちが話している間、私たちはそれに取り組んでいます。
質問や問題がある場合は問題を提出してください。フィードバックをお待ちしております。Polymer-dev@googlegroups.com には、このポリフィル (およびその組織内の他のポリフィル) について議論するための電子メール チャネルもあります。
このようなものが広く実装されているとは思えません
確かに、少なくとも Chrome にはあります。