我在JBoss EAP 6.4上使用RichFaces 4.5.13.Final和JSF 2.1开发复杂的Web应用程序。一些页面包含像此一样的collapsiblePanel
<h:form id="myForm">
<rich:collapsiblePanel id="myPanel" header="Header" switchType="client">
<h:outputText value="Test" />
</rich:collapsiblePanel>
</h:form>
在谷歌浏览器中(经过版本57.0.2987.110(64位)测试)我们注意到页面加载后出现了一个奇怪的javascript错误。此错误随机发生,但并非总是如此:
Uncaught TypeError: Cannot read property 'getItems' of undefined
at init (togglePanelItem.js:43)
at new init (collapsiblePanelItem.js:32)
at HTMLDocument.<anonymous> (collapsiblePanel.js:52)
at fire (jquery.js?amp;v=4.5.13.Final:3232)
at Object.fireWith [as resolveWith] (jquery.js?amp;v=4.5.13.Final:3362)
at Function.ready (jquery.js?amp;v=4.5.13.Final:3582)
at HTMLDocument.completed (jquery.js?amp;v=4.5.13.Final:3617)
例如,如果我重新加载页面10次,则此错误将发生在5次左右。在Firefox等其他浏览器中,此错误永远不会发生。
看起来javascript文件是随机加载的。所以我已经尝试通过将org.richfaces.resourceOptimization.enabled
设置为true来为RichFaces使用压缩文件,但错误仍然存在。
我想解决这个问题,但我不知道如何本地化这个问题。
修改
经过一段时间的调试后,我发现https://issues.jboss.org/browse/RF-13780存在一些相似之处,因为element[rf.RICH_CONTAINER]
由于某些原因有时rf.component
未定义。