Ok有点奇怪,我没有看到任何其他的报告,我们最近从IE11用户报告了一些UI错误,在做了一些测试之后,我意识到在执行一个reRender(我使用的是A4J)IE11将HTML元素放在错误的地方。

<s:div id="parent" rendered="#{someCondition}">
    <div id="brother"></div>
    <div id="sister"></div>
</s:div>

rerender后出现这样

<s:div id="parent" rendered="#{someCondition}">
    <div id="brother">
        <div id="sister"></div>
    </div>
</s:div>

这显然对布局造成了严重破坏

我正在混合JSF/HTML组件相当多,但不认为这应该导致问题?

任何想法可能会导致这种情况?

JSF1.2/RichFaces3.3/Facelets

有帮助吗?

解决方案

你有没有试过设置一个meta标签 IE8 渲染模式:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

正如我所听到的,Richfaces3只支持最多 Internet Explorer 8, ,或者您可能会考虑切换到RichFaces4以获得当前浏览器支持。

微软:如何确保兼容性

希望这有帮助。

其他提示

作为我的ajax渲染的问题很简单,我选择改变实现(加载所有表单,只是用jQuery切换可见性),但我花了一些时间,而且已经过了一些时间,并且我的贡献就会贡献。

可以使用以下更新修复一些渲染问题: https://ruleoftech.com/2015/patching -richfaces-3-3-3-ajax-js-for-IE11 http://ruleoftech.com/2013/patching -richfaces-3-3-3-ajax-js-for-ie9

您也可以尝试制作位于Richfaces-impl.jar org \ ajax4jsf \ javascript \ scripts中的prototype.js,更改将浏览器设置为IE的方法。

Browser: {
IE: (!!(window.attachEvent &&
    navigator.userAgent.indexOf('Opera') === -1) 
    || (navigator.userAgent.toLowerCase().indexOf("like gecko") > -1 
    && navigator.userAgent.toLowerCase().indexOf("11.") > -1) )
.

现在,如果您在浏览器控制台上调试原型,则将符号为IE11。

要注意,RF可以“缩小它所使用的所有第三个库脚本。
检查HTML的<head>中加载的文件。也许所有这些更改都应在Richfaces-iclic-3.3.3.3.final.jar / org / ajax4jsf / framework.pack.js中进行。

我使用修补richfaces-3-3-3-ajax-js-for ie9指南,以便能够使用IE11使用Richfaces 3.3.3。我刚刚在Ajax.js上更新了Sarissa的0.9.9.7版。

元标签X-UA兼容无法在我的情况下使用它,它位于一个iframe(孩子)中,我忽略了元标记。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top