在阅读了这篇post(推荐阅读)关于不使用HTML5Shiv直接从源代码(几乎)每个人都这样做之后,我试图在我的应用程序中使用Rails 3.2 Asset Pipeline包含html5shiv.js。
我下载了javascript的缩小版和非缩小版。该约定告诉您将第三方文件添加到vendors / assets文件夹中。我现在有两个问题:
1)我应该将哪个版本(缩小或未缩小)添加到vendors / assets / javascrip文件夹中?
2)因为它是一个条件参考<!--[if lt IE 9]>
,我该如何调用脚本?
我不想将它添加到application.js清单中,因为我想将它保存为单独的文件,我想使用该条件。我有点迷路了!
非常感谢任何帮助。
由于
答案 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" }