Bonjour,
Le code se trouve dans ma page où je veux afficher le rappel de fin de session :
1 2
| <script src="session.js" type="text/javascript"></script>
<!-- "session.js" est le fichier JavaScript contenant la définition des 3 fonctions utilisées --> |
dans la balise body de la page :
<body onload="session(30, 5, 'http://www.monsite.com/sommaire.asp')">
Puis dans le fichier session.js :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| /**
* affiche une boîte de dialogue d'information sur l'expiration imminente de la session utilisateur :
* si l'utilisateur clique sur OK, la page est rechargée pour réinitialiser le chronomètre de session
* @param int minutes délai avant l'expiration de la session
*/
function rappelSession(minutes)
{
var msg='Votre session expirera dans '+minutes+' minutes';
if(minutes>1) msg+='s';
msg+='.\nVoulez-vous recharger la page pour éviter la déconnexion automatique ?';
if(confirm(msg)) location.reload();
}
/**
* affiche une alerte sur l'expiration de la session et redirige vers une autre page
* @param string url URL de redirection en cas de déconnexion
*/
function expirationSession(url)
{
alert('Votre session a expiré !\nVous êtes actuellement déconnecté.\nVeuillez vous reconnecter en remettant votre Login et Mot de passe pour refaire une offre !!!');
location.href=url;
}
/**
* affiche des avertissements sur le délai d'expiration de la session :
* - un premier au bout de (expiration-rappel) minutes (par ex. : 20-3 = 17 minutes)
* - un second au bout de (expiration) minutes (par ex. : 20 minutes)
* @param int expiration délai en minutes d'expiration de la session
* @param int rappel délai en minutes avant l'expiration de la session pour l'affichage du rappel
* @param string redirection URL de redirection en cas de déconnexion
*/
function session(expiration, rappel, redirection)
{
// affichage du rappel
var chronoRappel=setTimeout('rappelSession('+rappel+')', (expiration-rappel)*60*1000);
// une fois le rappel affiché, on avertit uniquement de l'expiration
var chronoExpiration=setTimeout('expirationSession(\''+redirection+'\')', expiration*60*1000); |
Ce code fonctionne parfaitement sous mozilla mais pas sous IE... et bien sûr j'aimerai les deux... voir tous :-)
Problème javascript et moi cela fait deux :-(
ayant vu ce post, j'espèrais que la réponse soit donnée...
Merci.
Partager