渲染块Javascript&;CSS MVC4
我正在开发MVC4Web应用程序,以尽可能实现最佳优化 现在只有最后一件事困扰着我 问题:消除渲染阻塞JavaScript和CSS 我所知道的: 1) 在_Layout.cshtml中,@Styles.Render(“~/Content/css”)和@Scripts.Render(“~/bundles/modernizer”)写在“/head”标记的正下方 2) 可以使用'async'删除Javascript阻塞&CSS应该写在'/html'标记之外 对于CSS,这在我的代码中不起作用,对于JS,我什么都不知道 问题:如何使此页面100%优化 提前谢谢 下图:渲染块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
要避免使用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(或者将其合并到最终的脚本文件中)。