1

ホットタオル テンプレートを使用してプロトタイプを作成しました。このテンプレートは、ほとんどのブラウザーで検索できますが、IE8 ドキュメント モードで表示すると何も表示されません (IE 9 開発者ツールを使用)。code camper サンプル アプリの場合も同じことが起こります。

私の仮定は、HTML 5の問題であるため、次のことを試しました。

  1. html5shiv および es5-shim nuget パッケージを追加しました。

  2. Bundle config.cs でスクリプトの新しいバンドルを作成します。

    new ScriptBundle("~/scripts/compat") .Include("~/scripts/es5-shim.js") .Include("~/scripts/html5shiv.js") );

  3. 新しいバンドルを index.cshtml ビューに追加します

    @using System.Web @using System.Web.Optimization ホットタオルスパ

    @Styles.Render("~/Content/css")
    <script type="text/javascript">
        if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
            var msViewportStyle = document.createElement("style");
            var mq = "@@-ms-viewport{width:auto!important}";
            msViewportStyle.appendChild(document.createTextNode(mq));
            document.getElementsByTagName("head")[0].appendChild(msViewportStyle);
        }
    </script>
    @Scripts.Render("~/scripts/compat")
    

しかし、問題は残ります。この問題を解決する方法を知っている人はいますか、それとも他に何か不足していますか?

4

1 に答える 1

1

Breeze エントリの前に、es5 Shim および Sham ライブラリをベンダー バンドルに追加するだけです。

bundles.Add(
          new ScriptBundle("~/scripts/vendor")
            .Include("~/scripts/jquery-{version}.js")
            .Include("~/scripts/knockout-{version}.debug.js")
            .Include("~/scripts/sammy-{version}.js")
            .Include("~/scripts/toastr.js")
            .Include("~/scripts/Q.js")
            .Include("~/scripts/es5-shim.min.js")
            .Include("~/scripts/es5-sham.min.js")
            .Include("~/scripts/breeze.debug.js")
            .Include("~/scripts/bootstrap.js")
            .Include("~/scripts/moment.js")
          );
于 2013-05-31T08:15:35.443 に答える