2011-06-28 3 views
2

私はPrimeFaces 3.0とJSF 2.0を使用しています。 Webappでは、ユーザーのブラウザが一定時間アイドル状態になっているときにページ上にモーダルダイアログを表示し、Ajax呼び出しによってサーバー側でセッションの無効化をトリガーします。ブラウザでは、モーダルダイアログに、アイドル時間の制限を超えてセッションが終了したという簡単なメッセージが表示されます。これはすべて正常に機能します(スクリーンショットを参照)。PrimeFaces 3.0 - ダイアログオーバーレイのデフォルトの不透明度をどのように変更するのですか?

EDIT:

<p:idleMonitor timeout="#{initParam[clientSideIdleThreshold]}"> 
     <p:ajax 
      event="idle" 
      listener="#{logoutBean.idleListener}" 
      oncomplete="idleDialog.show()" /> 
     <p:ajax 
      event="active" 
      listener="#{logoutBean.activeListener}" /> 
    </p:idleMonitor> 
    <p:dialog 
      header="Session Exceeded Idle Limit" 
      widgetVar="idleDialog" 
      modal="true" 
      fixedCenter="true" 
      closable="false" 
      draggable="false" 
      resizable="false" 
      appendToBody="true" 
      height="200" 
      width="400"> 
     <h:outputText value="Session Terminated" /> 
    </p:dialog> 

私は何をしたいが上書きされる: "appendToBodyは"

enter image description here

を修正ここに私にfaceletページからコードがあると更新PrimeFacesダイアログのオーバーレイのデフォルトの不透明度を設定し、不透明にします。誰もこれを行う方法を知っていますか?

私は、これは私がが本当には、これを達成するために、任意のJavaScriptを書い避けたいので、適切な場所にいくつかのCSSを置くことによって達成することができることを願っています。

ユーザー環境のターゲットブラウザは、あなたのCSSのIE 6と7

+0

あなたのサイトはどこですか? CSSプロパティの可能性は高いですが、ビルドの方法がわかるまではわかりません:) – Kyle

+0

このダイアログはモーダルですか(modal = 'true')?オーバーレイがまったくないようです。 – Fortega

+0

残念ながら、このサイトはプライベートネットワーク上にあります。使用されるCSSは、jQuery UI Themerollerスタイルに大きく依存するPrimeFaces 3.0ディストリビューションにパッケージされています。 –

答えて

3

Fortegaの答えはいくつかのブラウザのために正しかったが、IE 7のためには、次のCSSを使用する必要があります。

.ui-widget-overlay { 
    filter:alpha(opacity=80); /* works in IE 7 */ 
    opacity: 0.8; /* works in Firefox */ 
} 

www.w3schools.comによると、不透明度のCSS属性は、標準的ではないが、CSS3に含めることが提案されて。

6

です:

.ui-widget-overlay { 
    opacity: 0.8; 
} 

またはいくつかの他の値:)

しかし、あなたは、ダイアログを確認する必要がありあなたはモーダル(<p:dialog modal="true")であることを示しています。そうでなければ、オーバーレイは表示されません。

+0

これはFirefoxでは動作しますが、IE 7(これはユーザ環境のターゲットブラウザです)では動作しません。私はもう少しそれを試してみて、私が問題を見つけることができるかどうかを見てみましょう。私は 'modal =" true "'を使用していますが、オーバーレイの下にモーダルボックスを表示し続けます。私はアイドルメッセージのような簡単な通知のためにこれで生活することができますが、明らかにオーバーレイによって覆われたフォームダイアログを使用することはできません。私はこれがPrimeFaces 3.0スナップショットの欠陥かもしれないと思っていましたが、多分何か間違っています。 –

関連する問題