IE11 JSF RerenderでDOM構造を変更します
-
21-12-2019 - |
質問
奇妙なもののビットここで、ivこれの他の報告を見ていない、私たちは最近、私は最近のテストを行った後、私が再現した後に私がRerenderを実行した後に認識した後にいくつかのUIバグが報告されました(私はA4Jを使っています)IE11html要素を間違った場所に置くことです。
<s:div id="parent" rendered="#{someCondition}">
<div id="brother"></div>
<div id="sister"></div>
</s:div>
.
RERNENDER
の後にこのように見えます<s:div id="parent" rendered="#{someCondition}">
<div id="brother">
<div id="sister"></div>
</div>
</s:div>
.
レイアウト
で明らかに大混乱をしているJSF / HTMLコンポーネントをかなり少し混在させていますが、問題を引き起こすべきだとは思わないか?
これを引き起こす可能性があるのは何でもアイデアですか?
JSF 1.2 |Richfaces 3.3 |Facelets
解決
IE8 レンダリングモードのメタタグを設定しましたか:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
.
リッチファス3もInternet Explorer 8
のみをサポートするだけでなく、現在のブラウザのサポートのリッチファス4に切り替えることもできます。
これが役立つことを願っています。
他のヒント
Ajaxレンダリングに関する問題が簡単だったので、実装を変更することを選択します(すべてのフォームをロードし、jQueryでの可視性の切り替え)が、これでしばらく過ごし、貢献が行われます。
これらの更新でレンダリングの問題を修復することができます。 https://ruleoftech.com/2015/Patching. -RICHFACES-3-3-3-3- AJAX-JS-FOR-IE11 http://"nofollout"> http://ruleoftech.com/2013/patching. -RICHFACES-3-3-3-3- AJAX-JS-FOR-IE9
RICHFACES-IMPL.JAR ORG \ AJAX4JSF \ JavaScript \ ScriptsにあるPrototype.jsのパッチを作成して、ブラウザをIEに設定するメソッドをNavigator.UserAgentを使用して変更することもできます。
Browser: {
IE: (!!(window.attachEvent &&
navigator.userAgent.indexOf('Opera') === -1)
|| (navigator.userAgent.toLowerCase().indexOf("like gecko") > -1
&& navigator.userAgent.toLowerCase().indexOf("11.") > -1) )
.
今、ブラウザコンソールでPrototype.Browserをデバッグした場合、IE11に該当する。
RFが使用している3番目のライブラリスクリプトをすべて決定できることを注意してください。
HTMLの<head>
にロードされているファイルを確認してください。多分すべての変更がRichFaces-Inpl-3.3.3.final.jar / org / ajax4jsf / framework.pack.jsで行われるべきです。
iE11でRichFaces 3.3.3を使用できるように、Patching-RichFaces-3-3-3-3-3-3-3-3-3- Ajax-JS-For9ガイドを使用します。ajax.jsのサリサのバージョン0.9.9.7を更新しました。
META TAG X-UA互換性が私の場合で使用できませんでしたが、IFRAME(子)にあり、METAタグを無視しました。