2010-06-30 9 views
0

J'ai une fenêtre de dialogue dans ma page JSP et son implémentation avec jQuery.JQuery + Dialog Open + Timeout

Si mon serveur a expiré et que je clique sur un bouton pour ouvrir la boîte de dialogue, ma page de connexion apparaît dans la fenêtre de dialogue.

Je souhaite fermer la boîte de dialogue et rediriger vers la page de connexion.

Comment puis-je y parvenir?

Répondre

1

Si l'on suppose ce que vous demandez est que lorsque vous cliquez sur un lien d'une fenêtre de dialogue jquery ouvre, ou il vous redirigera vers la page de connexion:

Vous pourriez avoir le bouton lien de connexion comme ceci:

<a href="loginURL">Login</a> 

puis dans le javascript:

$("a").click(function() { 

     if (code to determine if server is not timed-out) 
      $("selectorForDialog").dialog({ options }); 
      return false; 
     } 
    } 

si le serveur ne délai d'attente dépassé, il ouvre la boîte de dialogue, sinon il ira à l'URL spécifiée par href dans le lien <a>

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

+0

J'ai essayé, mais en raison d'un style différent de la mise en œuvre n'a pas été en mesure de vérifier comme ça, j'ai utilisé, jquery-idleTimeout.js: Plus d'informations à ce sujet peut être trouvé @ http://philpalmieri.com/2009/09/jquery-session-auto-timeout- avec-invite / – Vivek

0

Je pense que ce que vous devez faire dans cette situation est de créer une fonction globale qui vous permet de "casser" la boîte de dialogue (que je suppose utiliser un iframe ...). Ainsi, par exemple, dans votre page JSP, vous pouvez créer une fonction telle que:

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

Et quand vous restituez la réponse pour la page de connexion, faire quelque chose de similaire à:

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

Lorsque ce code s'exécute dans l'iframe (c'est la raison pour laquelle nous vérifions d'abord l'objet parent) cela va rediriger le document externe.

C'est juste un modèle vraiment, mais devrait vous conduire dans la bonne direction ...