6

在阅读了这篇关于不要像(几乎)每个人一样直接从源代码使用 HTML5Shiv的帖子(推荐阅读)之后,我正在尝试使用 Rails 3.2 Asset Pipeline 在我的应用程序中包含 html5shiv.js。

我下载了 javascript 的缩小版和非缩小版。约定告诉您将第三方文件添加到供应商/资产文件夹中。我现在有两个问题:

1) 我应该将哪个版本(缩小或未缩小)添加到供应商/资产/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 回答