1

我正在我的网站上运行 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]-->

愚蠢的问题,但我很困惑。谢谢。

4

2 回答 2

2

2件事:

  1. 您是否检查过您的下载中是否包含 shiv?http://modernizr.com/download/
  2. 您在文档的哪个位置加载modernizr.js?可能需要将其加载到头部而不是页面底部。
于 2012-10-01T17:13:29.603 回答
2

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

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

谜团解开了(尽管我是个笨蛋并不神秘)。

于 2012-10-01T22:43:45.717 回答