HTML5 Shiv没有使用Modernizr进行初始化

时间:2012-09-28 22:46:22

标签: modernizr html5shiv

我在我的网站上运行了Modernizr的完整开发版本,虽然html5shiv包含在Modernizr中,但它似乎没有运行。如果我将html5shiv作为单独的脚本添加到页面,一切都很好。 Modernizr的其余部分也正常工作。我是否必须以某种方式初始化Modernizr中的html5shiv?文档使它看起来像是自动运行。

以下是我页面顶部的代码:

<script src="/assets_site/js/head.load.min.js"></script>
<script>
  head.js(
    { modernizr: '/assets_site/js/modernizr.js' },
    { jquery: '//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js' },
    { placeholder: '/assets_site/js/jquery.placeholder.min.js' },
    { response: '/assets_site/js/jquery.response.min.js' }
  );
</script>

在Modernizr没有的地方使用单独的html5shiv代码:

<!--[if lt IE 9]>
  <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
愚蠢的问题,但我很困惑。感谢。

2 个答案:

答案 0 :(得分:2)

2件事:

  1. 你检查过shiv是否包括在你的 下载? http://modernizr.com/download/
  2. 您的文档中的位置     你加载modernizr.js?可能需要将其装入头部      而不是在页面的底部。

答案 1 :(得分:2)

啊,想通了。问题是我是个笨蛋。

html5shiv在Modernizr中正常加载,但我也将response.js设置为在条件IE片段内运行。当我删除html5shiv脚本时,我删除了respond.js,这导致布局变得疯狂。我完全无视媒体查询部分,并认为这是一个html5问题。

神秘解决了(虽然我是个笨蛋并不神秘。)