2010-06-30 94 views
0

我在JSP頁面中有一個對話框窗口,並使用jQuery實現它。JQuery +對話框打開+超時

如果我的服務器超時,我點擊一個按鈕打開對話窗口,我的登錄頁面顯示在對話窗口內。

我想實際關閉對話窗口,並重定向到登錄頁面。

我該如何做到這一點?

回答

1

假設你問的是,當你點擊一個鏈接一個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; 
     } 
    } 

如果服務器沒有超時,它會打開對話框,否則它會通過HREF在<a>鏈接

http://jqueryui.com/demos/dialog/

+0

我想這一點,但指定的URL,由於一些不同的風格的實施是不能夠這樣檢查,所以我用, jquery-idleTimeout.js:關於它的更多信息可以在 http://philpalmieri.com/2009/09/jquery-session-auto-timeout-與提示符/ – Vivek 2010-06-30 15:58:00

0

我認爲你在這種情況下需要做的是創建一個全局函數,允許你「突破」對話框(我假設將使用iframe ...)。因此,例如,在你的JSP頁面,你可以創造這樣就像一個函數:

FrameBreakout = function(url) { 
    document.location.href = url; 
}; 

而當你渲染登錄頁面的響應,做類似的東西:

if (parent && parent.FrameBreakout) 
{ 
    parent.FrameBreakout("/login.jsp"); 
} 

當該代碼在iframe中執行(這就是爲什麼我們首先檢查父對象),這將導致外部文檔重定向。

這只是一個模板真的,但應該引領你在正確的方向...