渲染块Javascript&;CSS MVC4

渲染块Javascript&;CSS MVC4,javascript,css,performance,asp.net-mvc-4,google-pagespeed,Javascript,Css,Performance,Asp.net Mvc 4,Google Pagespeed,我正在开发MVC4Web应用程序,以尽可能实现最佳优化 现在只有最后一件事困扰着我 问题:消除渲染阻塞JavaScript和CSS 我所知道的: 1) 在_Layout.cshtml中,@Styles.Render(“~/Content/css”)和@Scripts.Render(“~/bundles/modernizer”)写在“/head”标记的正下方 2) 可以使用'async'删除Javascript阻塞&CSS应该写在'/html'标记之外 对于CSS,这在我的代码中不起作用,对于JS

我正在开发MVC4Web应用程序,以尽可能实现最佳优化

现在只有最后一件事困扰着我

问题:消除渲染阻塞JavaScript和CSS

我所知道的:

1) 在_Layout.cshtml中,@Styles.Render(“~/Content/css”)和@Scripts.Render(“~/bundles/modernizer”)写在“/head”标记的正下方

2) 可以使用'async'删除Javascript阻塞&CSS应该写在'/html'标记之外

对于CSS,这在我的代码中不起作用,对于JS,我什么都不知道

问题:如何使此页面100%优化

提前谢谢

下图:


要避免使用content.css阻塞,请将其添加到布局标题中

<script type="text/javascript">

function load_css_async(filename) {


    var cb = function () {
        var l = document.createElement('link'); l.rel = 'stylesheet';
        l.href = filename;
        var h = document.getElementsByTagName('head')[0]; h.parentNode.insertBefore(l, h);
    };
    var raf = requestAnimationFrame || mozRequestAnimationFrame ||
        webkitRequestAnimationFrame || msRequestAnimationFrame;
    if (raf) raf(cb);
    else window.addEventListener('load', cb);


 }

</script>


@Styles.RenderFormat("<script type=\"text/javascript\">load_css_async('{0}')</script>", "~/Content/css")

函数加载\u css\u异步(文件名){
var cb=函数(){
var l=document.createElement('link');l.rel='stylesheet';
l、 href=文件名;
var h=document.getElementsByTagName('head')[0];h.parentNode.insertBefore(l,h);
};
var raf=requestAnimationFrame | | mozRequestAnimationFrame||
webkitRequestAnimationFrame | | msRequestAnimationFrame;
if(raf)raf(cb);
else窗口。addEventListener('load',cb);
}
@RenderFormat(“load_css_async(“{0}”),“~/Content/css”)

它可能检测到Modernizer加载在头部,而不是页脚,因此它抱怨它会减慢页面加载速度。在很多情况下,您很可能会删除Modernizer(或者将其合并到最终的脚本文件中)。