2016-07-20 73 views
3

NotesフォームのXPageを作成しました。私はいくつかのロジックを実行し、ドキュメントモードを「編集」に変更する編集ボタンと、文書を保存し、NotesビューのXPageにリダイレクトする保存および閉じるボタンを追加しました。XPages:ブラウザの戻るボタンを処理する

これはうまくいきますが、ビューに戻るとブラウザの戻るボタンが押されると、ドキュメントは編集モードで再び表示されます。ドキュメントに戻ることはできますが、読み取り専用モードでは可能ですか?

編集ボタンを押したときにロジックが実行されるため、ユーザーがブラウザの戻るボタンを使用してドキュメントに戻り、編集モードで右にジャンプせずにこのロジックが実行されるようにする必要があります論理。

+2

あなたはドキュメントデータソースに 'ignoreRequestParams = true'を設定しようとしたことがありますか? – jpishko

答えて

1

リクエストパラメータを無視することは、私にとってはオプションではありません。

クライアントブラウザのキャッシュを無効にして(キャッシュされたバージョンのページを表示するのではなく、クライアントブラウザに毎回ページを再読み込みさせて)、「編集モードで編集モードに入ったのですか?チェック。

beforeRenderResponse:このページの無効化ブラウザのキャッシュ

var response:java.lang.Object = facesContext.getExternalContext().getResponse(); 
response.setHeader("Expires", "Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past (= expired) 
response.setHeader("Pragma", "no-cache"); // HTTP/1.0 
response.setHeader("Cache-Control", "no-store"); // HTTP/1.1 

beforePageLoad:編集モードは、編集ボタンを介して入力された場合 チェック。 ていない場合は、読み取り専用モードにするために変更

if (!<was edit-mode entered via edit-button?>) { 
    var pagePart:string = view.getPageName() + "?"; 
    var documentPart:string = "documentId=" + context.getUrlParameter("documentId"); 
    var actionPart:string = "&action=openDocument"; 
    context.redirectToPage(pagePart + documentPart + actionPart); 
} 
関連する問題