meta
HTML5ボイラープレートが使用しているものと同じものを使用しましたが、W3C HTMLバリデーターは不平を言います:
要素 meta の属性 http-equiv の値 X-UA-Compatible が正しくありません。
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
meta
このタグの何が問題になっていますか?
meta
HTML5ボイラープレートが使用しているものと同じものを使用しましたが、W3C HTMLバリデーターは不平を言います:
要素 meta の属性 http-equiv の値 X-UA-Compatible が正しくありません。
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
meta
このタグの何が問題になっていますか?
X-UA-Compatible が「標準」HTML (仕様によって参照される公開編集可能な Wiki ページに表示されることを含む FSVO 「標準」) ではないか、バリデーターがその Wiki の現在のステータスに対応していません。
執筆時点 (20130326) X-UA-Compatible は、次のように述べているセクションの下の wiki ページに表示されます。ドキュメント。」したがって、バリデータはこの値を拒否するのが正しいです。
機能に影響を与えずに技術的に有効にしたい場合(誰もが緑色のファビコンを見るのが大好きです)、「if IE」タグでラップするだけで済みます。
<!--[if IE]><meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'><![endif]-->
考えられる解決策の 1 つは、Aaron Layton によるこの素晴らしい記事で提案されているように、ヘッダーにサーバー側の修正を実装することです。(すべての功績は彼に帰すべきです。私は盗作ではなく言い換えます...)
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
「Internet Explorer がこの行に遭遇すると、プラグインがインストールされている場合は、使用されているエンジンを最初に Chrome Frame に変更し、次に Edge (ブラウザでサポートされている最高のドキュメント モード) に変更します。」
手順:
PHP でヘッダーを追加するには、これをページに追加するだけです。
if (isset($_SERVER['HTTP_USER_AGENT']) &&
(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false))
header('X-UA-Compatible: IE=edge,chrome=1');
または、次のように .htaccess ファイルに追加することもできます。
<FilesMatch "\.(htm|html|php)$">
<IfModule mod_headers.c>
BrowserMatch MSIE ie
Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
</IfModule>
</FilesMatch>
元の記事へのリンク、考えられる注意事項についてコメントを確認してください。C# の実装も含まれています。
お役に立てれば!
..これは良い答えでしょうか?
PHP で HTTP ヘッダーを設定します。
これは私自身の作品ではありませんが、他の人にも役立つことを願っています。
バリデーターの src コードをダウンロード/ビルドすると、自分でサポートを追加できます。
などのファイルに以下を追加し、 にhtml5-meta-X-UA-Compatible.rnc
インクルードしhtml5full.rnc
ます。
私はこれを行いましたが、検証にはうまく機能します。
meta.http-equiv.X-UA-Compatible.elem =
element meta { meta.inner & meta.http-equiv.X-UA-Compatible.attrs }
meta.http-equiv.X-UA-Compatible.attrs =
( common.attrs.basic
& common.attrs.i18n
& common.attrs.present
& common.attrs.other
& meta.http-equiv.attrs.http-equiv.X-UA-Compatible
& meta.http-equiv.attrs.content.X-UA-Compatible
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
meta.http-equiv.attrs.http-equiv.X-UA-Compatible = attribute http-equiv {
xsd:string {
pattern = "X-UA-Compatible"
}
}
meta.http-equiv.attrs.content.X-UA-Compatible = attribute content {
xsd:string {
pattern = "IE=((edge)|(EmulateIE(7|8|9|10))|7|8|9|10|11)(,chrome=(1|0))?"
}
}
common.elem.metadata |= meta.http-equiv.X-UA-Compatible.elem