JSP ページにダイアログ ウィンドウがあり、jQuery を使用して実装されています。
サーバーがタイムアウトし、ボタンをクリックしてダイアログ ウィンドウを開くと、ログイン ページがダイアログ ウィンドウ内に表示されます。
実際にダイアログ ウィンドウを閉じて、ログイン ページにリダイレクトしたい。
どうすればこれを達成できますか?
JSP ページにダイアログ ウィンドウがあり、jQuery を使用して実装されています。
サーバーがタイムアウトし、ボタンをクリックしてダイアログ ウィンドウを開くと、ログイン ページがダイアログ ウィンドウ内に表示されます。
実際にダイアログ ウィンドウを閉じて、ログイン ページにリダイレクトしたい。
どうすればこれを達成できますか?
あなたが求めているのは、リンクをクリックするとjqueryダイアログウィンドウが開くか、ログインページにリダイレクトされるということです。
次のようなログイン リンク ボタンを使用できます。
<a href="loginURL">Login</a>
次にJavaScriptで:
$("a").click(function() {
if (code to determine if server is not timed-out)
$("selectorForDialog").dialog({ options });
return false;
}
}
サーバーがタイムアウトしていない場合はダイアログが開き、それ以外の場合は<a>
リンクの href で指定された URL に移動します
この状況で行う必要があるのは、ダイアログの「ブレークアウト」を可能にするグローバル関数を作成することだと思います(これは、iframeを使用すると想定しています...)。したがって、たとえば、JSPページで、次のような関数を作成できます。
FrameBreakout = function(url) {
document.location.href = url;
};
また、ログインページの応答をレンダリングするときは、次のようなことを行います。
if (parent && parent.FrameBreakout)
{
parent.FrameBreakout("/login.jsp");
}
そのコードがiframe内で実行されると(そのため、最初に親オブジェクトをチェックします)、外部ドキュメントがリダイレクトされます。
これは実際には単なるテンプレートですが、正しい方向に導くはずです...