1

Microsoft の Web 最適化インフラストラクチャを使用して、バンドルと縮小を行っています。

ブラウザに応じて異なるコンテンツを配信するように設定するにはどうすればよいですか? バンドルがない場合の条件付き CSS ファイルと同様の動作が必要です。

<!--[if lt IE 9]><link rel="stylesheet" href="~/Templates/Styles/ie.css"><![endif]-->

これは現在の私のバンドル コードです。

public static void RegisterBundles(BundleCollection bundles)
{
     bundles.Add(new StyleBundle("~/Templates/Styles")
        .IncludeDirectory("~/Templates/Styles","*.css", true));

     // OR 
     bundles.Add(new StyleBundle("~/Templates/Styles")
            .Included("~/Templates/Styles/f5/normalize.css",
            "~/Templates/Styles/f5/foundation.css",
            "~/Templates/Styles/tipTip.css")
        );
}

条件付きバンドルは可能ですか? それとも、CSS の条件付き部分を含むファイルに対して、HTML で従来のバンドルされていないインライン参照を使用する必要がありますか?

4

1 に答える 1

1

デフォルトのフォーマット System.Web.Optimization.Scripts.DefaultTagFormat を調べると、次のようなものがあることがわかります。

<script src='{0}'></script>

したがって、あなたがしなければならないことは、新しいフォーマットを定義することだけです。次のように、「 RenderFormat」メソッドを使用してこれを行うことができます。

<%: System.Web.Optimization.Scripts.RenderFormat("<!--[if lt IE 9]><script src='{0}'></script><![endif]-->", "~/bundles/IE9js") %>
于 2014-08-22T01:53:24.937 に答える