使用.NETMVC中的Response.Filter将所有JavaScript保存在页面底部

使用.NETMVC中的Response.Filter将所有JavaScript保存在页面底部,javascript,jquery,asp.net-mvc,performance,filter,Javascript,Jquery,Asp.net Mvc,Performance,Filter,我已经加载了一些外部JavaScript和一些内联JavaScript来查看MVC项目中的页面。我听说过响应过滤器在加载内容后将这些脚本移动到页面的末尾,但我对此没有确切的了解 我如何在整个项目中实现这一点 这篇文章介绍了解决您的问题的方法 希望能有所帮助。本文介绍了解决您问题的方法 希望能有所帮助。本文介绍了解决您问题的方法 希望能有所帮助。本文介绍了解决您问题的方法 我希望它能有所帮助。我会使用构建任务(使用Grunt或Gulp)将脚本合并并缩小为静态内容,并重写HTML,以便在页面中包含C

我已经加载了一些外部JavaScript和一些内联JavaScript来查看MVC项目中的页面。我听说过响应过滤器在加载内容后将这些脚本移动到页面的末尾,但我对此没有确切的了解

我如何在整个项目中实现这一点

这篇文章介绍了解决您的问题的方法

希望能有所帮助。

本文介绍了解决您问题的方法

希望能有所帮助。

本文介绍了解决您问题的方法

希望能有所帮助。

本文介绍了解决您问题的方法

我希望它能有所帮助。

我会使用构建任务(使用Grunt或Gulp)将脚本合并并缩小为静态内容,并重写HTML,以便在页面中包含CSS和JS资源

您可以使用吞咽任务,例如合并和缩小,然后

整个任务如下所示:

gulp.task('html', function () {
    var assets = useref.assets();

    return gulp.src('app/*.html')
        .pipe(assets)
        .pipe(gulpif('*.js', uglify()))
        .pipe(gulpif('*.css', minifyCss()))
        .pipe(assets.restore())
        .pipe(useref())
        .pipe(gulp.dest('dist'));
});
除了缩小和合并资源外,它还允许您定义要将HTML的哪些部分作为输出的目标:

<html>
<head>
    <!-- build:css css/combined.css -->
    <link href="css/one.css" rel="stylesheet">
    <link href="css/two.css" rel="stylesheet">
    <!-- endbuild -->
</head>
<body>
    <!-- build:js scripts/combined.js -->
    <script type="text/javascript" src="scripts/one.js"></script>
    <script type="text/javascript" src="scripts/two.js"></script>
    <!-- endbuild -->
</body>
</html>

并将其改写为:

<html>
<head>
    <link rel="stylesheet" href="css/combined.css"/>
</head>
<body>
    <script src="scripts/combined.js"></script>
</body>
</html>

我会使用构建任务(使用Grunt或Gulp)将脚本合并并缩小为静态内容,并重写HTML,以便在页面中包含CSS和JS资源

您可以使用吞咽任务,例如合并和缩小,然后

整个任务如下所示:

gulp.task('html', function () {
    var assets = useref.assets();

    return gulp.src('app/*.html')
        .pipe(assets)
        .pipe(gulpif('*.js', uglify()))
        .pipe(gulpif('*.css', minifyCss()))
        .pipe(assets.restore())
        .pipe(useref())
        .pipe(gulp.dest('dist'));
});
除了缩小和合并资源外,它还允许您定义要将HTML的哪些部分作为输出的目标:

<html>
<head>
    <!-- build:css css/combined.css -->
    <link href="css/one.css" rel="stylesheet">
    <link href="css/two.css" rel="stylesheet">
    <!-- endbuild -->
</head>
<body>
    <!-- build:js scripts/combined.js -->
    <script type="text/javascript" src="scripts/one.js"></script>
    <script type="text/javascript" src="scripts/two.js"></script>
    <!-- endbuild -->
</body>
</html>

并将其改写为:

<html>
<head>
    <link rel="stylesheet" href="css/combined.css"/>
</head>
<body>
    <script src="scripts/combined.js"></script>
</body>
</html>

我会使用构建任务(使用Grunt或Gulp)将脚本合并并缩小为静态内容,并重写HTML,以便在页面中包含CSS和JS资源

您可以使用吞咽任务,例如合并和缩小,然后

整个任务如下所示:

gulp.task('html', function () {
    var assets = useref.assets();

    return gulp.src('app/*.html')
        .pipe(assets)
        .pipe(gulpif('*.js', uglify()))
        .pipe(gulpif('*.css', minifyCss()))
        .pipe(assets.restore())
        .pipe(useref())
        .pipe(gulp.dest('dist'));
});
除了缩小和合并资源外,它还允许您定义要将HTML的哪些部分作为输出的目标:

<html>
<head>
    <!-- build:css css/combined.css -->
    <link href="css/one.css" rel="stylesheet">
    <link href="css/two.css" rel="stylesheet">
    <!-- endbuild -->
</head>
<body>
    <!-- build:js scripts/combined.js -->
    <script type="text/javascript" src="scripts/one.js"></script>
    <script type="text/javascript" src="scripts/two.js"></script>
    <!-- endbuild -->
</body>
</html>

并将其改写为:

<html>
<head>
    <link rel="stylesheet" href="css/combined.css"/>
</head>
<body>
    <script src="scripts/combined.js"></script>
</body>
</html>

我会使用构建任务(使用Grunt或Gulp)将脚本合并并缩小为静态内容,并重写HTML,以便在页面中包含CSS和JS资源

您可以使用吞咽任务,例如合并和缩小,然后

整个任务如下所示:

gulp.task('html', function () {
    var assets = useref.assets();

    return gulp.src('app/*.html')
        .pipe(assets)
        .pipe(gulpif('*.js', uglify()))
        .pipe(gulpif('*.css', minifyCss()))
        .pipe(assets.restore())
        .pipe(useref())
        .pipe(gulp.dest('dist'));
});
除了缩小和合并资源外,它还允许您定义要将HTML的哪些部分作为输出的目标:

<html>
<head>
    <!-- build:css css/combined.css -->
    <link href="css/one.css" rel="stylesheet">
    <link href="css/two.css" rel="stylesheet">
    <!-- endbuild -->
</head>
<body>
    <!-- build:js scripts/combined.js -->
    <script type="text/javascript" src="scripts/one.js"></script>
    <script type="text/javascript" src="scripts/two.js"></script>
    <!-- endbuild -->
</body>
</html>

并将其改写为:

<html>
<head>
    <link rel="stylesheet" href="css/combined.css"/>
</head>
<body>
    <script src="scripts/combined.js"></script>
</body>
</html>



我不想缩小它,但我想在所有内容之后,将所有JavaScript块推送到页面的页脚。我不想缩小它,但我想将所有JavaScript块推送到页面的页脚,在所有内容之后。我不想缩小它,但我想在所有内容之后,将所有JavaScript块推送到页面的页脚。我不想缩小它,但我想在所有内容之后,将所有JavaScript块推送到页面的页脚。谢谢Marius。我已经实现了您建议的解决方案,但现在我面临ajax调用的问题。在ajax调用中,它没有得到正确的函数,因此我得到错误:“B未定义”。你能帮我吗?嗨,安基塔,ajax调用是什么时候发出的?它第一次加载页面时。然后以复选框选择为例,我们调用ajax函数。在得到ajax结果之后,我们使用javascript将一个div替换为另一个div。但是在ajax响应中,它找不到脚本标记,因为它在主体标记关闭之前已经被移动,并且ajax响应不包含主体标记。您可以发布一个示例吗?谢谢您的响应。但我有办法了,谢谢你,马吕斯。我已经实现了您建议的解决方案,但现在我面临ajax调用的问题。在ajax调用中,它没有得到正确的函数,因此我得到错误:“B未定义”。你能帮我吗?嗨,安基塔,ajax调用是什么时候发出的?它第一次加载页面时。然后以复选框选择为例,我们调用ajax函数。在得到ajax结果之后,我们使用javascript将一个div替换为另一个div。但是在ajax响应中,它找不到脚本标记,因为它在主体标记关闭之前已经被移动,并且ajax响应不包含主体标记。您可以发布一个示例吗?谢谢您的响应。但我有办法了,谢谢你,马吕斯。我已经实现了您建议的解决方案,但现在我面临ajax调用的问题。在ajax调用中,它没有得到正确的函数,因此我得到错误:“B未定义”。你能帮我吗?嗨,安基塔,ajax调用是什么时候发出的?它第一次加载页面时。然后以复选框选择为例,我们调用ajax函数。在得到ajax结果之后,我们使用javascript将一个div替换为另一个div。但是在ajax响应中,它找不到脚本标记,因为它在主体标记关闭之前已经被移动,并且ajax响应不包含主体标记。您可以发布一个示例吗?谢谢您的响应。但我有办法了,谢谢你,马吕斯。我已经实现了您建议的解决方案,但现在我面临ajax调用的问题。在ajax调用中,它没有得到正确的函数,因此我得到错误:“B未定义”。你能帮我吗?嗨,安基塔,ajax调用是什么时候发出的?它第一次加载页面时。然后以复选框选择为例,我们调用ajax函数。在ajax结果之后,我们重播