为了尽可能快地保存我的网站,我更喜欢在文档末尾加载.js脚本,就在关闭正文标记之前,为HEAD部分保留css。但是,我发现下面的html shiv代码显然只在HEAD部分实例化时才有效。
<!--[if lt IE 9]>
<script type="text/javascript"
src="http://html5shiv.googlecode.com/svn/trunk/html5.js">
</script>
<![endif]-->
有人知道解决方法吗?
答案 0 :(得分:19)
Google代码不是CDN。不要链接主干中的文件。
查看响应标题:
缓存在 3分钟后过期......这与我们想要的CDN完全相反。
请停止这样做。
注意强>
正如JoãoCunha评论的那样,你可以在cdnjs.com上找到真正的CDN链接:html5shiv。 (respond.js也可以在那里找到)
样品:
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.js"></script>
<![endif]-->
答案 1 :(得分:14)
HTML5 shiv的工作方式需要您将其放在<head>
元素中。事实上,它在project page:
要使用此脚本,必须将其包含在
<body>
元素之前(即<head>
),但如果它出现在CSS之前或之后无关紧要 - 但为了提高性能,首先包含CSS然后这个脚本会更有意义。
这样IE就可以在开始构建文档主体之前识别HTML5元素。
没有解决方法。
这里的教训不是要将所有脚本放在页面末尾。 CDN在提供服务方面非常快,所以你不需要移动这个特定的脚本。 1
1 但正如其他人所说,由于Google Code实际上不是CDN,你应该选择另一个来源。