2016-09-27 3 views
3

私はいくつかのJavaScript機能のためにテンプレートタグを使用するウェブサイトを作っています。そして、この機能はエッジでは機能しません。テンプレートタグのために、私は過去にそれらの間にいくつかの問題があるかもしれないと聞いています。HTML5テンプレートタグがエッジで動作しませんか?

しかし、caniuse.comのエッジによれば、テンプレートタグはサポートされていますが、問題は表示されません。また、MDN:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/templateによると、Edgeはバージョン13以降のサポートを持っていたはずです。バージョン20のov Edgeでテストしました。

私はまた、エッジコンサルでJavaScriptエラーを受け取らないので、テンプレートタグで問題が発生する可能性があります。

私の質問はかなり簡単です。 Edgeはテンプレートタグをサポートしていますか?それとも、周りの仕事(shivなど)ですか?

答えて

2

はい、MS Edgeは絶対にテンプレートをサポートしています。ただし、テンプレートの内容などのドキュメントフラグメントのfirstElementChildの取得にはknown issueがあります。テンプレートを利用する場合、コンテンツのfirstElementChildを取得してクローンしてDOMのどこかに配置するのが最も一般的です。そのため、一見してMS Edgeでテンプレートが完全に壊れているように見えることがあります。

この記事の時点で

、次のコードは、MSエッジに失敗します。

var clone = template.content.firstElementChild.cloneNode(true); 

このコードは、MSエッジおよび他のすべてのポストMS IEブラウザで動作します:

var clone = template.content.querySelector("*").cloneNode(true); 

かこの最後のコードスニップ、それに

var clone = template.content ? template.content.querySelector("*").cloneNode(true) : template.firstElementChild.cloneNode(true); 

、MS私のような古いブラウザ:いっそのこと、あなたもMS IEを収容することができますEはクローンを正しく作成しますが、マークアップ内のテンプレートは隠されていなければ解析され表示されます。テンプレートは使用できますが、パフォーマンス上のメリットはありません。

関連する問題