これは、現在取り組んでいるアプリケーションで使用されている jsf のバージョンに関する情報を提供するための jsf-ibm.jar (MANIFEST.MF ファイル) からのデータです。
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: IBM Corporation
Specification-Title: Java Server Faces
Implementation-Title: JSF Widget Library (JWL) - Base
Implementation-Version: JWL v3_1_13
Implementation-Vendor: IBM
Build-Version: 20120307.2306
Build-Date: March 7 2012
Copyright-Info: Copyright (c) 2003,2008, International Business Machin
es Corporation. All Rights Reserved.
私は、IEでのみ発生するこの奇妙なアプリの動作を追跡して解決することにこだわっています。
リンクがあり、クリックするとダイアログボックスが開きます(編集および保存できるデータを含むフォームなど)。しかし、リンクをクリックするとダイアログが開きますが、アプリ全体に「白い雲」と呼ばれるものがあります。アプリ全体とダイアログがぼやけていて、何もクリックできません。次に、ブラウザー (IE) の更新ボタンをクリックすると、ダイアログが閉じて、リンクがあるデータのリストを含むページが返されます。
私は IE 開発者ツールを使用しようとしましたが、ID HX_DLG_SCRATCH_0 を持つ要素が削除されると、この白い雲が消え、ダイアログが閉じられるなど、アプリの背景が残ることがわかりました (たとえば、Firefox の「通常の動作」は非表示になります)。ダイアログはブロックされていますが、アプリの背景は灰色で、ダイアログの背後にあるアプリ要素はありません)。このエレメントは、ibm-jsf によって生成されます。
これは IE DOM エクスプローラーの要素です。
<BODY bodyUnloadEventNum="1" marginwidth="0" marginheight="0" hasbox="2" boxItem=" [object]"><DIV id=HX_DLG_SCRATCH_0 style="FONT-SIZE: 1px; BORDER-TOP: 0px; HEIGHT: 1166px; BORDER-RIGHT: 0px; WIDTH: 1676px; BORDER-BOTTOM: 0px; POSITION: absolute; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; PADDING-LEFT: 0px; LEFT: 0px; FILTER: progid:DXImageTransform.Microsoft.Alpha(enabled=false); MARGIN: 0px; BORDER-LEFT: 0px; Z-INDEX: 10001; TOP: 0px; PADDING-RIGHT: 0px; BACKGROUND-COLOR: #e2e2e2" name="HX_DLG_SCRATCH_0" hasbox="2" boxItem="[object]"></DIV></BODY>
</html>
これは、リンクがあるページの jsp コードの一部です。
<h:outputLink id="link1" rendered="#{not empty book.bookType}">
<h:outputText id="text1" value="#{msg[book.bookType.tag]}"
styleClass="outputText">
</h:outputText>
<hx:behavior event="onclick" behaviorAction="get;show;stop" id="behaviour1"
targetAction="subview1:panelForm2:editBookDialog;subview1:panelForm2:editBookActionDialog"
onActionFunction="setvalue('subview1:panelForm2:newItem', 'edit'); setvalue('subview1:panelForm2:itemId', '#{book.bookId}');"></hx:behavior>
</h:outputLink>
これは、ajax を使用する editBookActionDialog.jsp ダイアログの jsp コードの一部です。
<hx:ajaxRefreshRequest id="ajaxRefreshRequest1"
target="subview1:panelForm2:editBookActionDialog"
params="itemId;newItem"
onstart="showProgressBar();" oncomplete="hideProgressBar();">
</hx:ajaxRefreshRequest>
これが IE でのみ発生する理由を突き止めることはできません。Firefox では問題なく動作します。
どうぞ、それに関するあらゆる種類のガイダンスや情報をいただければ幸いです。
ミスマスさん
、よろしくお願いします
【追記】今ふと思ったこと。
たぶん、この「白い雲」はその灰色の背景であるべきですが、IEでは何かがcssと混同されます...
JavaScriptエラーやその他のエラーがないため、それが正しい手がかりになる可能性があるようです.. .
何かが足りないと思われる場合は、訂正してください... thnx!
[EDIT2 - 重要]
原因を突き止めました!
CSSの問題です。位置: このお粗末な HX_DLG_SCRATCH_0 要素の絶対値が問題を引き起こしています。
この ibm-jsf で生成された position:absolute を position:relative にオーバーライドする方法を教えてください。
また、IEだけにこの「ハック」を追加したいと思います。私はそれが良くないことを知っていますが、それは明らかにアプリケーション全体の精神にあります:)
Tnx!