背景:我们使用ExtJS 6来开发我们的应用程序。在其中一个视图中,我们使用了标签面板中的数据视图。此数据视图启用了可滚动。我们将X-UA-Compatible模式指定为Edge。工作条件:Windows 7 + IE11(边缘模式)+智能卡身份验证非工作状态:Windows 10,IE11(非边缘模式)+虚拟智能卡身份验证(尽管此条件不确定)
发布日期:此视图在Chrome以及IE11上的Windows 7平台上呈现完美(默认为Edge模式)。在Windows 10平台上渲染IE 11时会发出问题。在此平台上,IE11在IE11浏览器中没有Edge模式(单独的Edge浏览器可用),因此应用程序默认以IE11模式运行。即使在数据加载之前呈现此视图,它抛出错误“无法从空值或未定义的位置访问n.dom”(我可能没有写出准确的错误描述)。
分析:分析发现,dataview的刷新方法被调用,但未找到其目标元素。错误的确切位置在dataview的刷新方法中,位于me.getTargetEl()。故障排除后,发现滚动功能(由scrollable:true启用)甚至在呈现视图之前就尝试刷新视图,因此未找到目标DOM元素。
解决方案:虽然我们在ExtJS中没有找到解决方案,但我们禁用了dataview的scrollable,并使用overflow属性按样式呈现scroll。例如,style:{溢出:'auto'}这解决了在未启用可滚动功能的情况下添加滚动功能的问题。
2条答案
按热度按时间7xllpg7q1#
将决议作为答案发布。
分析:分析发现,dataview的刷新方法被调用,但未找到其目标元素。错误的确切位置在dataview的刷新方法中,位于me.getTargetEl()。故障排除后,发现滚动功能(由scrollable:true启用)甚至在呈现视图之前就尝试刷新视图,因此未找到目标DOM元素。
解决方案:虽然我们在ExtJS中没有找到解决方案,但我们禁用了dataview的scrollable,并使用overflow属性按样式呈现scroll。例如,style:{溢出:'auto'}这解决了在未启用可滚动功能的情况下添加滚动功能的问题。
ulydmbyx2#
使用此