仅在编译资产后,Internet Explorer中的CSS和Javascript错误

时间:2012-05-10 18:55:39

标签: ruby-on-rails internet-explorer asset-pipeline

所以我在我的Rails应用程序的Internet Explorer中遇到了一些CSS和Javascript错误。问题是,当资产未编译时,一切正常。但是,一旦资产被编译成一个application.css和一个application.js,我就开始遇到很多问题(并且只在Internet Explorer 7,8,9中)。知道为什么会这样吗?我不需要确切的答案来确定错误,但只需要注意一些事情来帮助我开始寻找修复。

基本上,为什么编译资产会导致问题?

2 个答案:

答案 0 :(得分:3)

欢迎使用IE 4095选择器限制错误:IE忽略css文件中第4095个选择器之后的所有内容。

http://support.microsoft.com/kb/262161

您可以在此处测试此案例:http://marc.baffl.co.uk/browser_bugs/css-selector-limit/

您的单个​​css文件不会扩展此数量(希望如此)但所有css文件合并 - 可能。

如果您使用jammit进行压缩,可以通过编辑assets.yml文件来拆分压缩的资源文件:

stylesheets:
  common:
   file1.css
   file2.css
  other:
   file3.css
   file4.css

jammit会将您的文件拆分为common.css和other.css 不要忘记在视图中调用这些文件:

   <%= include_stylesheets :common, :media => 'all' -%>
   <%= include_stylesheets :other, :media => 'all' -%>

答案 1 :(得分:0)

您是否在布局中使用任何特定于IE的样式表或Java代码..

喜欢

<!--[if IE ] --><%= stylesheet_link_tag 'ie' %><!-- [endif]-->

如果是,那么你需要添加类似这样的东西

config.assets.precompile += %w(ie.css)

或者它可能是压缩问题     config.assets.compress == false

或者如果您正在使用任何第三方CSS内容,例如css3pie等