Extjs4.2 rtl在IE6中引发了巨大的问题



最近,我和我所在的开发团队完成了一个巨大的项目,将我们的整个系统从Extjs2转换到4.2。

我们已经修复了所有的东西,每一个小错误,只剩下一个小任务,使该系统也可用于IE6(我们的许多客户仍在使用它)。我们所认为的一项小任务显然是一个大问题。

没有一个网格被正确加载(只有列标题,没有数据),许多重要组件(如面板)显示为空白。

我们在主css文件中应用rtl属性,因为我们不想为每个组件添加rtl: true

html { direction: rtl }

一旦去掉这个,一切都很完美(当然除了方向)。目前,我们正在跟踪ext-all-rtl调试中的代码,并逐一查找问题(例如,我们发现掩码函数中添加的cls导致了网格的一些问题)。正如你所能想象的,这是一个庞大、痛苦和缓慢的过程(尤其是考虑到我们调试ie6)。

尽管在FF、Chrome甚至IE7中一切看起来都很好,但整个项目在IE6中都存在渲染问题。

如果有人熟悉这个问题,也许知道可能的解决方案,我们将永远感激!

"rtl:true"配置在整个组件层次结构中继承,您应该能够将"rtl:true"添加到层次结构中的顶级组件(通常是视口)。这就不需要自己设置"direction:rtl",因为rtl层次结构中的组件将在其元素中添加"x-rtl"类。

您还需要确保使用的是rtl样式表,因为ExtJS组件需要相当多的特殊样式才能在rtl模式下正确工作。例如,对于经典主题,这将是:ext-theme-classic-all-rtl.css

如果你仍然被卡住了,看看这个例子:http://docs.sencha.com/extjs/4.2.1/extjs-build/examples/rtl/rtl.html?theme=classic

最新更新