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 で正常に読み込まれましたが、respond.js もその条件付き IE スニペット内で実行するように設定しました。html5shiv スクリプトを削除したときに、respond.js も一緒に削除したため、レイアウトがおかしくなりました。メディアクエリの部分を完全に無視していて、html5 の問題だと思い込んでいました。

謎が解けました (私がブロックヘッドであることは謎ではありませんが)。

于 2012-10-01T22:43:45.717 に答える