Webコンポーネントはホットな新しいものであり、真のWeb標準です。誰もがそれらについて話し、おそらくそれらを使用しています。それらは、私たちが抱えている問題に対する完全な解決策のように見えます(非常に異なるサイト間でコンポーネントを共有する)。
そこで、いくつかのWebコンポーネントを作成します。 Chromeでは正常に動作しますが、IE11では動作しません。多分ポリフィルを使用しますか? https://www.webcomponents.org/polyfills には大量のポリフィルがありますが、IE11はclass
について不平を言っています。
おそらくES5にコンパイルしますか? IE11ではHTMLElementから同じ種類の継承を取得できないため、さまざまなソースがWebコンポーネントにはES6が必要であると主張しています。 custom-elements-es5-adapter.jsがありますが、どういうわけか機能しません。コンパイルすると、Webコンポーネントは機能しません。そうしないと、IE11はclass
で失敗します。
それでも、誰もがWebコンポーネントを使用しています。どうやってやるの? IE11/Edgeをまったくサポートしていませんか?私は何か間違っていますか?
必要なのがカスタム要素だけである場合、IE11およびEdgeで動作させることができます。 Shadow DOMとHTML ImportsはIE11とEdgeでも動作しますが、個人的には、Shadow DOMをネイティブにサポートしているブラウザ以外では使用しません。
FirefoxとEdgeは、通常のポリフィルでのみ動作します。
IE11はES5にトランスパイルし、ポリフィルを使用する必要があります。
class
をサポートする新しいブラウザーでES5トランスコードコードを使用している場合は、custom-elements-es5-adapter.js
ファイルを使用する必要があります
必要なポリフィルファイルを自動ロードするwebcomponents-lite.js
を使用する人もいます。その他は、webcomponents-hi-ce.js
(HTMLインポートおよびカスタム要素)またはwebcomponents-sd-ce.js
(Shady DOMおよびカスタム要素)などの特定のポリフィルをロードします