Validator.w3.orgを使用して自分のWebサイトを検証しました
次のエラーが報告されました。
Line 5, Column 67: Bad value X-UA-Compatible for attribute http-equiv on element meta.
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" >
そのMETAタグを含めないと、すべてのIE9訪問者が私のWebサイトをQuirksモードで表示するので、それを防ぎたいと思います。
どんな助けでも大歓迎です!
代わりに、いつでもX-UA-Compatible設定を実際のHTTPヘッダーに入れることができます。これをどのように行うかは、使用しているWebサーバーと、使用しているサーバー側フレームワーク(ある場合)によって異なります。
ここでも同じ問題がありますが、私の解決策は、.htaccessファイルに次の行を追加することです。
Header set X-UA-Compatible "IE=Edge"
私にとっては素晴らしい作品です...
IEのサポートが必要な場合は、完全な検証スコアを放棄する必要があるという事実を受け入れる必要があります。
でも大丈夫です、validity != quality
解決策は非常にシンプルで、テーマはこれを機能テンプレートに含めることができます。/templates/YOURTEMPLATE/warp/systems/themes/head.phpを開くだけです。
から
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
に
<!--[if IE]>
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<![endif]-->
PHPを使用している場合、このパラメーターをPHPのヘッダー関数に渡す方法は次のとおりです。
header('X-UA-Compatible: IE=Edge,chrome=1');
これが コード+説明付きの投稿 です。
ASP.NET MVCを使用している人向け
1つのオプションは、コントローラー/アクションでアクションフィルターを使用することです。これにより、サーバーからの応答が少し遅くなりますが、正確な数はわかりません。しかし、それはそれを行うためのクリーンな方法です:
///
/// Represents an attribute that is used to add HTTP Headers to a Controller Action response.
///
public class HttpHeaderAttribute : ActionFilterAttribute
{
///
/// Gets or sets the name of the HTTP Header.
///
/// The name.
public string Name { get; set; }
///
/// Gets or sets the value of the HTTP Header.
///
/// The value.
public string Value { get; set; }
///
/// Initializes a new instance of the class.
///
/// The name.
/// The value.
public HttpHeaderAttribute(string name, string value) {
Name = name;
Value = value;
}
public override void OnResultExecuted(ResultExecutedContext filterContext) {
if(!filterContext.HttpContext.Response.Headers.AllKeys.Contains(Name, StringComparer.OrdinalIgnoreCase))
filterContext.HttpContext.Response.AppendHeader(Name, Value);
base.OnResultExecuted(filterContext);
}
}
しかし、私にとって絶対に最善で最もクリーンな方法は、web.config
を使用することです。このコードを<system.webServer>
要素に入れます。
<httpProtocol>
<customHeaders>
<!--
http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/
Uncomment to serve cross-domain ajax requests
<add name="Access-Control-Allow-Origin" value="*" />
-->
<!--
Force the latest IE version, in various cases when it may fall back to IE7 mode
github.com/Rails/rails/commit/123eb25#commitcomment-118920
Use ChromeFrame if it's installed for a better experience for the poor IE folk
-->
<add name="X-UA-Compatible" value="IE=Edge,chrome=1" />
<!--
Allow cookies to be set from iframes (for IE only)
If needed, uncomment and specify a path or regex in the Location directive
<add name="P3P" value="policyref="/w3c/p3p.xml", CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"" />
-->
<!-- A little extra security (by obscurity) -->
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
明らかに、これはIIS7 +でのみ機能します。
HTH
HTMLバリデーターがあなたのコードについて言うことを気にしないようにしたことがありますか?それは通常私にとってはうまくいきます。