有条件地避免在资产管道的HAML布局中使用Application.css? (IE9 4096)

时间:2015-10-28 18:54:33

标签: ruby-on-rails sass asset-pipeline haml

我正在处理一个与IE 9 4096规则限制错误相关的项目。我试图在IE 9块中包含清单中应包含的所有css:

<!--[if !(IE 9)]> -->
= stylesheet_link_tag  "application.css", :media => "all"
<!-- <![endif]-->

<!--[if IE 9]>
= stylesheet_link_tag "stylesheet1.css", :media => "all"
= stylesheet_link_tag "stylesheet2.css", :media => "all"
= stylesheet_link_tag "stylesheet3.css", :media => "all"
<![endif]-->

问题似乎是rake或Asset Pipeline或其他东西似乎在[if IE 9]块的末尾注入了不可见的应用程序文件。

要清楚,这是问题,而不是关于有条件的HAML *

似乎总是需要application.css。是这样的吗?

有没有办法阻止它在编译HAML时被注入? (:简单的作品,但是很黑。你必须保留一份清单)

1 个答案:

答案 0 :(得分:0)

SO Question中的评论让我得出了答案。我使用:plain来封装[if IE 9]。这阻止了任何奇怪的处理再次注入application.css。虽然它现在已经解决了,但从长远来看,我并不认为这是可维护的。

:plain
  <!--[if IE 9]>
  = stylesheet_link_tag "stylesheet1.css", :media => "all"
  = stylesheet_link_tag "stylesheet2.css", :media => "all"
  = stylesheet_link_tag "stylesheet3.css", :media => "all"
  ...many more...
  <![endif]-->