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

时间:2013-11-29 17:12:46

标签: extjs extjs4.2

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

我们已经完成了修复所有内容,每个小错误,除了我们留下了一个小任务,使得系统也可用于IE6(我们的许多客户仍然使用它)。我们认为这是一项小任务显然是一个大问题。

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

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

html { direction: rtl }

一旦删除它,一切都很完美(除了当然的方向)。目前我们正在关注ext-all-rtl-debug中的代码并逐个发现问题(例如我们发现掩码函数中添加的cls导致了网格的一些问题)。可以想象,这是一个很大,痛苦和缓慢的过程(特别是考虑到我们调试ie6)。

虽然在FF,Chrome甚至是IE7中一切都很好,整个项目在IE6中都有渲染问题。

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

1 个答案:

答案 0 :(得分:0)

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

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

如果您仍然卡住,请查看此示例:http://docs.sencha.com/extjs/4.2.1/extjs-build/examples/rtl/rtl.html?theme=classic