包含js文件MVC5

时间:2016-03-14 08:48:43

标签: jquery ajax asp.net-mvc-5

我想在 MVC5 项目中包含来自https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js的.js文件,以异步方式调用这些方法。目前我已经实现了这一点,包括cshtml文件中的相同内容。这很好用。但是,如果互联网连接中断或非常差,则无法正常工作生产中可能出现同样的情况。我认为最好的方法是下载文件&在项目中捆绑相同因此它不依赖于互联网。

请告诉我如何捆绑相同的&在项目中使用。

public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery-{version}.js"));

            bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                        "~/Scripts/jquery.validate*"));


            // Use the development version of Modernizr to develop with and learn from. Then, when you're
            // ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
            bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                        "~/Scripts/modernizr-*"));

            bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                      "~/Scripts/bootstrap.js",
                      "~/Scripts/respond.js"));

            bundles.Add(new StyleBundle("~/Content/css").Include(
                      "~/Content/bootstrap.css",
                      "~/Content/site.css"));
        }

以下是我的BundleConfig.js

1 个答案:

答案 0 :(得分:0)

public static void RegisterBundles(BundleCollection bundles)
{
    //bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
    //            "~/Scripts/jquery-{version}.js"));

    bundles.UseCdn = true;   //enable CDN support

    //add link to jquery on the CDN
    var jqueryCdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js";

    bundles.Add(new ScriptBundle("~/bundles/jquery",
                jqueryCdnPath).Include(
                "~/Scripts/jquery-{version}.js"));

    // Code removed for clarity.
}

如果没有互联网连接,则使其安全失败。做这样的事情

@Scripts.Render("~/bundles/jquery")

<script type="text/javascript">
    if (typeof jQuery == 'undefined') {
        var e = document.createElement('script');
        e.src = '@Url.Content("~/Scripts/jquery-1.7.1.js")';
        e.type = 'text/javascript';
        document.getElementsByTagName("head")[0].appendChild(e);

    }
</script> 

@RenderSection("scripts", required: false)