web-dev-qa-db-ja.com

Webコンポーネントは実際にIE11およびEdgeで使用できますか?

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をまったくサポートしていませんか?私は何か間違っていますか?

17
mcv

必要なのがカスタム要素だけである場合、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およびカスタム要素)などの特定のポリフィルをロードします

https://github.com/WebComponents/webcomponentsjs

8
Intervalia