2011-12-23 54 views
6

在生产模式(Debian 6,Ruby 1.9.2,Passenger)下试用我的Rails 3.1应用程序。我试用了IE 6 & IE 7,并且某些资源未正确加载。一切工作正常在开发模式。Rails 3.1,资产管道和生产模式下的IE 6&7 - 某些CSS&j没有正确加载

部分css & js未正确加载,所有文件正在编译中。具体来说,我遇到了下拉式问题(jquery superfish菜单)。在IE8,IE9,Firefox,Chrome都可以在产品&开发中一切正常。该问题仅在生产中的IE 6 & 7中显示。

尝试清除缓存(在浏览器和服务器上)。重新编制资产。没有什么可以帮助的。

有没有人遇到过任何东西 - 像那样?

回答

9

对于这里有同样的问题的人是从MS支持的问题的根源(http://support.microsoft.com/kb/262161):

发生此问题,因为满足下列条件,在 Internet Explorer的真实:第一之后的所有样式标签没有应用31个样式标签 。前4095条规则后的所有样式规则不适用 。在使用@import规则连续导入 导入其他样式表的外部样式表的页面上,忽略深度超过三个级别的样式表 。

ARRRRRRRRRRRRRRR!当MS再次违反标准时,我试图追踪我的代码,结果终止了两天! #@)(!@#)

这让我进一步调查,令我惊讶的是,IE7似乎只处理一个大css文件中的前2025行 - 其余被忽略。 (起初我以为这是一些行限制,但事实证明,这是4025规则,这是在2025线)。只是显得很愚蠢。较新的IE和Chrome,Safari,Opera和FF似乎没有这个问题。我最终将我的css分解为应用程序-1.css & application-2.css以将生产中的文件数保持在最小,但它仍然非常烦人。

+1

哦!我感到抱歉,你不得不支持IE <8. – 2012-01-04 03:44:09

+0

是的,我们约有20%的用户,所以我不能忽略它:( – konung 2012-01-04 17:00:20

1

启用了调试吗?即在开发模式下你的JavaScript分裂了吗?

尝试禁用它,以便资产管道将所有内容合并到同一个文件中,并查看它是否仍然以开发模式工作。

当资产合并在一起,并且其中一个文件中缺少分号时,我遇到了一些问题。这可能是一件麻烦事,但可能会发生。其他更好的浏览器渲染它们,但IE浏览器只是混合起来。

+0

感谢您的指针,但事实并非如此。如果你有兴趣,请看我的答案。 – konung 2012-01-03 22:25:38