供应商/资产/ javascript中的Rails 3.2资产管道+ html5shiv.JS

时间:2012-07-05 13:16:43

标签: ruby-on-rails-3 html5 asset-pipeline html5shiv

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

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

1)我应该将哪个版本(缩小或未缩小)添加到vendors / assets / javascrip文件夹中?

2)因为它是一个条件参考<!--[if lt IE 9]>,我该如何调用脚本?

我不想将它添加到application.js清单中,因为我想将它保存为单独的文件,我想使用该条件。我有点迷路了!

非常感谢任何帮助。

由于

2 个答案:

答案 0 :(得分: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]-->"

请务必在测试前重启您的应用服务器。

答案 1 :(得分:1)

或者您可以直接使用

/[if lt IE 9]
  %script{ src: "http://html5shim.googlecode.com/svn/trunk/html5.js", type: "text/javascript" }