6

ソースから直接 HTML5Shiv を (ほぼ) 誰もが使用するように使用しないことに関するこの投稿(推奨読書) を読んだ後、Rails 3.2 Asset Pipeline を使用して html5shiv.js をアプリに含めようとしています。

javascriptの縮小版と非縮小版の両方をダウンロードしました。規則では、サードパーティのファイルを vendors/assets フォルダーに追加するように指示されています。2 つの質問があります。

1) vendors/assets/javascrip フォルダーに追加する必要があるのは、どのバージョン (縮小または非縮小) ですか?

2) 条件付き参照なので<!--[if lt IE 9]>、スクリプトをどのように呼び出す必要がありますか?

別のファイルとして保持し、条件を使用したいので、application.js マニフェストに追加したくありません。私はちょっと迷っています!

どんな助けでも大歓迎です。

ありがとう

4

2 に答える 2

8

必要に応じて、縮小されていないバージョンの JS を使用できます。Rails は、パイプラインを介してプロダクション モードで圧縮します。

shiv を別のファイルとして保持するにはhtml5.js、ディレクトリに (またはその他のもの) を作成することにより、独自のマニフェストを指定できます/vendor/assets/javascripts/。そのファイルには html5shiv が必要です (マニフェストとスクリプトは同じディレクトリにあると想定しています)。

//= require html5shiv

また

//= require html5shiv.min

次に、マニフェストをレイアウトの条件付きブロックに含めます。HAML では次のようになります。

== "<!--[if lt IE 9]>"
= javascript_include_tag 'html5'
== "<![endif]-->"

テストする前に、忘れずにアプリ サーバーを再起動してください。

于 2012-07-05T13:58:32.493 に答える
1

または、直接使用することもできます

/[if lt IE 9]
  %script{ src: "http://html5shim.googlecode.com/svn/trunk/html5.js", type: "text/javascript" }
于 2012-09-28T06:28:53.683 に答える