在这里有点奇怪,我没有看到任何其他报告,我们最近报告了IE11用户的一些UI漏洞,经过一些测试后我意识到执行了reRender后(我使用的是A4J)IE11将HTML元素放在错误的位置,例如。
<s:div id="parent" rendered="#{someCondition}">
<div id="brother"></div>
<div id="sister"></div>
</s:div>
重新渲染后显示如下
<s:div id="parent" rendered="#{someCondition}">
<div id="brother">
<div id="sister"></div>
</div>
</s:div>
这显然会对布局造成严重破坏
我正在混合使用JSF / HTML组件,但不认为这会导致问题吗?
任何可能导致此问题的想法?
JSF 1.2 | RichFaces 3.3 |小面
答案 0 :(得分:6)
您是否尝试为 IE8 渲染模式设置元标记:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
正如我所听到的,RichFaces 3最多只支持Internet Explorer 8
,或者您可以考虑切换到RichFaces 4以获得当前的浏览器支持。
Microsoft: how to ensure compatibility
希望这有帮助。
答案 1 :(得分:1)
由于我的ajax渲染问题很简单,我选择更改实现(加载所有表单,只是用jQuery切换可见性),但我已经花了一些时间来做这个,并且我的贡献。
& #xA;&#xA;使用这些更新可以修复一些渲染问题:&#xA; https://ruleoftech.com/2015/patching-richfaces-3-3-3-ajax-js-for-ie11 &#xA; http://ruleoftech.com/2013/patching -richfaces-3-3-3-ajax-js-for-ie9
&#xA;&#xA;你也可以尝试制作一个位于richfaces的prototype.js补丁-impl.jar org \ ajax4jsf \ javascript \ scripts,使用navigator.userAgent更改将浏览器设置为IE的方法。
&#xA;&#xA; 浏览器:{&#xA ; IE:(!!(window.attachEvent&amp;&amp;&#xA; navigator.userAgent.indexOf('Opera')=== -1)&#xA; ||(navigator.userAgen t.toLowerCase()。indexOf(“like gecko”)&gt; -1&#xA; &安培;&安培; navigator.userAgent.toLowerCase()。indexOf(“11。”)&gt; -1))&#xA;
&#xA;&#xA; 现在,如果您在浏览器控制台上调试Prototype.Browser,那么您就可以使用IE11。
& #xA;&#xA;注意RF可以“缩小”它正在使用的所有第三个库脚本。
&#xA;检查&lt; head&gt;
的HTML。也许所有这些更改都应该在richfaces-impl-3.3.3.Final.jar / org / ajax4jsf / framework.pack.js中进行。
答案 2 :(得分:0)
我使用patching-richfaces-3-3-3-ajax-js-for-ie9指南,以便能够使用richfaces 3.3.3 with ie11。我刚刚在Ajax.js上更新了Sarissa的0.9.9.7版本。
元标记X-UA-Compatible在我的情况下不能使用它,它在iframe(子)中,我忽略了元标记。