我有一个非常复杂的表格网站,我想在其中浏览页面(例如一次 5 行)。这种浏览在 Firefox 中运行良好,但在 Internet Explorer (7 + 8) 中则不行。
我调查了 HTTP 流量,发现服务器生成的响应是正确的,但在 IE 中,内容没有更新(也没有错误消息,例如在控制台中)。我花了一整天时间创建一个沙盒示例,但不幸的是,所有较小的示例都可以完美运行。我现在考虑两件事:
- 我的响应太大,IE7/IE8 JS 引擎无法处理。
- 响应包含一些 IE7/IE8 JS 引擎或 Mojarra 无法消化的序列。
您知道 Mojarra / IE JS 中的任何此类错误吗?我正在使用 Mojarra 2.1.3。
浏览由 ajax 命令链接触发:
<h:commandLink value=">" actionListener="#{cc.attrs.tblModel.nextPage}">
<f:ajax execute=":#{cc.attrs.tblId}" render=":#{cc.attrs.tblId}" />
</h:commandLink>
因为我认为问题可能是确切的响应,所以这是一个原始响应(去掉了仍然不起作用的最小值):
<partial-response>
<changes>
<update id="tableForm:resultsPanel:tableComponent"><![CDATA[<div id="tableForm:resultsPanel:tableComponent">
<span class="table-total">Total Elemente
<strong>58</strong>
</span>
<span class="table-pro-seite">Anzahl Elemente pro Seite Anzeigen:
<span class="selected">5</span>
|
<a id="tableForm:resultsPanel:j_idt555:j_idt244" href="#" onclick="mojarra.ab(this,event,'action','tableForm:resultsPanel:tableComponent','tableForm:resultsPanel:tableComponent');return false">10</a>
|
<a id="tableForm:resultsPanel:j_idt555:j_idt250" href="#" onclick="mojarra.ab(this,event,'action','tableForm:resultsPanel:tableComponent','tableForm:resultsPanel:tableComponent');return false">20</a>
</span>
<div class="table-content">
</div><div id="tableForm:resultsPanel:tableFooter:table-footer" class="table-footer">
<div id="tableFooter">
<div class="table-paging"><a id="tableForm:resultsPanel:tableFooter:firstLink" href="#" onclick="mojarra.ab(this,event,'action','tableForm:resultsPanel:tableComponent','tableForm:resultsPanel:tableComponent');return false" class="table-paging-firstLink"><<</a><a id="tableForm:resultsPanel:tableFooter:previousLink" href="#" onclick="mojarra.ab(this,event,'action','tableForm:resultsPanel:tableComponent','tableForm:resultsPanel:tableComponent');return false" class="table-paging-previousLink"><</a>
<span class="table-paging-currentpage">Seite<input id="tableForm:resultsPanel:tableFooter:currentPage" type="text" name="tableForm:resultsPanel:tableFooter:currentPage" value="2" class="table-input" onkeypress="return displayedPageKeypressEvent(event);" />von 12<input id="tableForm:resultsPanel:tableFooter:sendDisplayedPage" type="submit" name="tableForm:resultsPanel:tableFooter:sendDisplayedPage" value="send" style="visibility: hidden; float: right;" onclick="mojarra.ab(this,event,'action','@form','tableForm:resultsPanel:tableComponent');return false" />
</span><span id="tableForm:resultsPanel:tableFooter:pageSelector"><a id="tableForm:resultsPanel:tableFooter:nextLink" href="#" onclick="mojarra.ab(this,event,'action','tableForm:resultsPanel:tableComponent','tableForm:resultsPanel:tableComponent');return false" class="table-paging-nextLink">></a><a id="tableForm:resultsPanel:tableFooter:lastLink" href="#" onclick="mojarra.ab(this,event,'action','tableForm:resultsPanel:tableComponent','tableForm:resultsPanel:tableComponent');return false" class="table-paging-lastLink">>></a></span></div><span id="tableForm:resultsPanel:tableFooter:table-footer-multiselect"></span>
</div></div></div>]]></update>
<extension primefacesCallbackParam="validationFailed">{"validationFailed":false}</extension>
</changes>
</partial-response>
非常感谢您的帮助!
PS:我也在使用Primefaces,但我想这与问题无关。