消除渲染阻止javascript - 谷歌开发者建议摘要

时间:2013-12-02 20:54:40

标签: javascript html html5 dom modernizr

谷歌开发者工具坚持 - 我将我的modernizr .js移到</body>标签的末尾, 据我所知,如果我这样做,ie8和ie7将不支持html5标签。 (新版本的modernizr支持旧版浏览器支持html5标签)

有没有解决方案?

由于

2 个答案:

答案 0 :(得分:5)

2017注意:此原始答案与IE 9及更低版本中的Modernizr,html5shiv和HTML 5元素相关。你甚至在项目中需要IE9吗? IE9 and under accounts for ~0.50% of usage。微软甚至不支持这些浏览器,自2016年1月6日起,这些浏览器还没有。请前往"Modernizr Download Builder"以正确构建和设置您的Modernizr文件和基本HTML页面。如果你不需要这个旧的IE支持,请删除html5shiv并放弃将其粘贴在HEAD中。

原始答案

这是一个建议,一般应该使用;但是,包含modernizr.js文件以启用HTML 5 的情况必须在body标记之前完成。因此,您应该忽略此建议。每个Modernizr文档("Installing Modernizer"),为了获得最佳性能,您应该在样式表引用后粘贴它们。

如果你正在使用包含yeznope.js的modernizr来有条件地加载脚本或进行任何其他类型的设置,可以在关闭身体之前进行。

答案 1 :(得分:1)

有一种方法可以解决这个问题。通过定义一个停止渲染阻塞的虚拟条件。

例如:

<head>
...
<!--[if]><script src="vendor/modernizr.js"></script><![endif]-->
...
</head>