[ASP] Problème de gestion de fenêtres

Problème de gestion de fenêtres [ASP] - ASP - Programmation

Marsh Posté le 11-05-2004 à 21:01:29    

J'essais de faire qqchose qui me parraît assez simple mais qui finalement est un cauchemare! Je ne sais même plus par ou commencer:
 
Dans une page web, je dois lire périodiquement une valeur dans une BD. Si la valeur est > 0, je dois afficher une nouvelle fenêtre. Aussi simple que ça!
 
1. J'ai mis dans ma page d'origine un iframe qui appelle une page asp (appelons la P1). J'ai programmé P1 avec un auto refresh pour la périodicité. donc, à tous les x minutes, elle lie la valeur dans la bd. Si la valeur > 0, elle ouvre une page P2 dans une nouvelle fenêtre (avec javascript window.open()).
 
Problème: sur certain PC, ça marche à merveille, et la nouvelle fenêtre P2 n'est ouverte qu'une seule fois, même si elle n'est pas fermée entre les auto refresh de P1... PAR CONTRE, sur d'autre PC, les fenêtres P2 s'accumulent. Une nouvelles fenetre est ouverte à chaque fois que P1 s'auto refresh (et que la valeur est >0).
 
Pourquoi?
 
J'ai tenté de contourner le problème en essayant de trouver une façon de vérifier dans P1 si P2 est déjà ouverte avant d'en ouvrir une seconde. Je n'y arrive pas: puisque P1 est rafraichie, je perd ma référence à P2. J'ai essayé avec une session variable mise à 1 par P1 lorsqu'elle ouvre P2 et mise à 0 par P2 lorsque P2 est fermée mais ça ne marche pas pour la simple et bonne raison que je ne trouve aucune façon de savoir si la fenêtre a été fermée par la commande ALT+F4 ou par le bouton "X" de la barre de titre...
 
Je ne sais plus quoi faire...
 
Toutes les idées sont les bienvenues.

Reply

Marsh Posté le 11-05-2004 à 21:01:29   

Reply

Marsh Posté le 11-05-2004 à 22:04:55    

plamonster a écrit :

J'essais de faire qqchose qui me parraît assez simple mais qui finalement est un cauchemare! Je ne sais même plus par ou commencer:
 
Dans une page web, je dois lire périodiquement une valeur dans une BD. Si la valeur est > 0, je dois afficher une nouvelle fenêtre. Aussi simple que ça!
 
1. J'ai mis dans ma page d'origine un iframe qui appelle une page asp (appelons la P1). J'ai programmé P1 avec un auto refresh pour la périodicité. donc, à tous les x minutes, elle lie la valeur dans la bd. Si la valeur > 0, elle ouvre une page P2 dans une nouvelle fenêtre (avec javascript window.open()).
 
Problème: sur certain PC, ça marche à merveille, et la nouvelle fenêtre P2 n'est ouverte qu'une seule fois, même si elle n'est pas fermée entre les auto refresh de P1... PAR CONTRE, sur d'autre PC, les fenêtres P2 s'accumulent. Une nouvelles fenetre est ouverte à chaque fois que P1 s'auto refresh (et que la valeur est >0).
 
Pourquoi?
 
J'ai tenté de contourner le problème en essayant de trouver une façon de vérifier dans P1 si P2 est déjà ouverte avant d'en ouvrir une seconde. Je n'y arrive pas: puisque P1 est rafraichie, je perd ma référence à P2. J'ai essayé avec une session variable mise à 1 par P1 lorsqu'elle ouvre P2 et mise à 0 par P2 lorsque P2 est fermée mais ça ne marche pas pour la simple et bonne raison que je ne trouve aucune façon de savoir si la fenêtre a été fermée par la commande ALT+F4 ou par le bouton "X" de la barre de titre...
 
Je ne sais plus quoi faire...
 
Toutes les idées sont les bienvenues.


 
dans ton window.open, tu peux specifier le nom de ta fenetre. Si c toujours la meme, elle rechargera dans la meme fenetre.

Reply

Marsh Posté le 14-05-2004 à 15:45:51    

Intéressant, j'utilise la ligne de commande suivante:
 
NewWindow = window.open("test_timer12.asp?MachineID=<%=MachineID%>",'ah','toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, fullscreen=no, width=600, height=500, top=262, left=340');
 
Et pourtant, la commande ouvre une nouvelle fenêtre plutôt que de recharger dans la même...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed