Autorisation de fermer une fenêtre inactive en javascript ?

Autorisation de fermer une fenêtre inactive en javascript ? - HTML/CSS - Programmation

Marsh Posté le 06-01-2006 à 09:50:27    

Bonjour,
 
Voilà mon problème :  
 
http://img376.imageshack.us/img376/7475/screenhfr4ir.th.jpg
 
Lorsqu'on se connecte à ce site, on atterit sur une page d'authentification. Je n'ai malheureusement pas le droit de vous donner l'occasion de tester ça online...
 
Le monsieur pour qui je travaille, ATR donc, veut que le site, une fois authentifié apparaisse comme sur mon image, sur la droite... A savoir une fenêtre redimensionnable mais sans adressbar, menu et boutons. Apparemment, ça n'est pas possible de faire ça sans passer par un popup. C'est donc ce que j'ai fait (un popup).
 
A la fin de la page d'authentification, j'ai fait :  
 

Code :
  1. <script language="javascript">
  2. if (!window.name)
  3. {
  4.  window.open('<%=Back%>','MainWindow','location=no,menubar=no,status=no,resizable=yes,scrollbars=yes,height=600,width=800,left=100,top=100,directories=no');
  5.  location.href="authentification.asp";
  6.  window.close();
  7. }
  8. else
  9. {
  10.  location.href="<%=Back%>";
  11. }
  12. </script>


 
Le window.name me sert à savoir si on est sur la fenêtre de départ ou sur le popup (la fenetre de départ n'a donc pas de nom).
Si on est à la première fenêtre donc, j'ouvre un popup, et je veux fermer la première fenêtre... Or, il semblerait que ce soit une sécurité, mais il me demande une confirmation... Existerait-il un moyen de contourner ce problème ?
 
Merci d'avance pour votre aide...

Reply

Marsh Posté le 06-01-2006 à 09:50:27   

Reply

Marsh Posté le 06-01-2006 à 10:55:44    

Dis moi benjamin, c'est pour de l'intranet ?

Reply

Marsh Posté le 06-01-2006 à 10:58:23    

tu dis à l'autre neuneu qui t'a demandé ce travail que les popups c'est mal et que ca se contourne les doigts dans le nez
 
Exemple : Mon navigateur (Maxthon) ouvre les popups comme des fenetres normales en onglet.
 
Donc tu essayes d'argumenter un peu et de lui dire que ça ne sert à rien.
 
Et que si le client n'a pas javascript d'activé, il ne pourra jamais visiter le site.
 
PS : C'est pour un intranet rassure moi ?

Reply

Marsh Posté le 06-01-2006 à 11:27:27    

il a jamais dit que c'était son neuneu de chef qui lui avait intimé l'ordre de faire un popup... Visiblement, c'est benjamin lui même qui en est arrivé à cette (fausse) conclusion.
 
rassure moi aussi, t'es en stage, benjamin, non ?

Reply

Marsh Posté le 06-01-2006 à 13:54:22    

Oui c'est pour un intranet.
 
Non je ne suis pas en stage.
Oui je suis arrivé à cette fausse conclusion tout seul.
 
Ce que vous ne comprenez pas, et que j'ai dit plusieurs fois sur ce forum, c'est qu'avec ATR et Airbus, on ne discute pas vraiment.
 
Le gars veut que le site apparaisse sans barre d'adresse, sans menu et sans bouton, en restant redimensionnable. Point. Il n'y a pas à tergiverser.
 
Autre chose, chez ATR, norme oblige, pour tout le monde c'est IE, javascript activé. Donc c'est mal codé, c'est pas standard tout ça, je dois aussi m'adapter. Ils en ont rien à foutre des standards.
 
Gatsu, on en a déjà parlé, je t'ai déjà expliqué que je n'avais pas le choix. Yaura pas de navigation par onglet, tout ça tout ça.
 
Maintenant, j'accueillerais vos solution avec une grande joie [:dawa]

Reply

Marsh Posté le 06-01-2006 à 15:05:56    

conclusion : CDPD chez ATR et AirGus

Reply

Marsh Posté le 06-01-2006 à 15:55:27    

Certes, mais ça règle pas mon problème... T'as pas une idée pour éviter cette fichue confirmation de fermeture ?

Reply

Marsh Posté le 06-01-2006 à 16:26:00    

Il faut que la fenetre soit ouverte par un script.  
et on ne peut via Javascript empêcher  cette fermeture de script.
 
Ta direction ce sont des cons, ils ont du mal à comprendre que quand on peut pas, on ne peut pas :/
 
Sous FireFox c'est encore mieux tu peux meme pas fermer en JS une fenetre qui n'a pas été ouverte via du JS.

Reply

Marsh Posté le 06-01-2006 à 16:41:08    

Je précise que je ne travaille pas chez ATR hein, ce sont juste des clients...
 
Donc aucun moyen de faire ça...
 
Et un moyen pour au moins minimisez la fenêtre de départ ?

Reply

Marsh Posté le 06-01-2006 à 16:49:09    

si je crois qu'il y avait un moyen de ruser si tu es sur que c'est du 100% IE, de mémoire fallait jongler avec le opener, un truc dans le genre:

Code :
  1. self.opener=self;
  2. var pop=window.open('http://www.google.com');
  3. pop.opener=null;
  4. window.close();


Sinon il te reste toujours la solution d'envoyer la 1ere fenêtre a perpette avec un bon:

Code :
  1. window.moveTo(-2000,-2000);


 

Reply

Marsh Posté le 06-01-2006 à 16:49:09   

Reply

Marsh Posté le 06-01-2006 à 17:17:10    

anapajari a écrit :

si je crois qu'il y avait un moyen de ruser si tu es sur que c'est du 100% IE, de mémoire fallait jongler avec le opener, un truc dans le genre:

Code :
  1. self.opener=self;
  2. var pop=window.open('http://www.google.com');
  3. pop.opener=null;
  4. window.close();


Sinon il te reste toujours la solution d'envoyer la 1ere fenêtre a perpette avec un bon:

Code :
  1. window.moveTo(-2000,-2000);



C'est crade ta deuxieme solution, car ca laisse toujours un processus IE en mémoire

Reply

Marsh Posté le 06-01-2006 à 19:15:56    

De toutes façon, vu l'élégance du truc que lui demande son client, c'est pareil.
 
Le fait que ce soit airbus ou je sais pas qui n'a rien de différent, pour de l'internet ça se fait pas, pour de l'intranet , comme ils préfèrent ... Cet été j'ai bossé dans une boite  qui developpe une solution en Java et qui utilise du JSP .. Bah les pages etaient fourrées de JS et de VBscript jusqu'au nez mais ils s'en fouttaient vu que dans le contrat pour le client c'etait spécifié WinXP pro SP1 + IE6 ... Et ça convenait a peu pres a tout le monde, vu que c'etait une appli uniquement intranet


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 06-01-2006 à 20:18:57    

vive le travail de merde, pendant 2 ans c'était comme ça aussi pour moi :(
toujours obligé de faire ce que le client demande
des tableau ;(

Reply

Marsh Posté le 06-01-2006 à 20:26:53    

jviens de tester, il est impossible de faire ce que ce CLIENT A LA CON demande

Reply

Marsh Posté le 06-01-2006 à 20:50:57    

Salut,
rien à voir avec la prog, mais si c'est pour un intranet, pe voir à modifier les paramètres de sécurité de ie pour le domaine en question ??

Reply

Marsh Posté le 09-01-2006 à 09:15:30    

Merci pour votre aide en tout cas...
 
sub1> Je rappelle pour info que le client c'est ATR/Airbus, donc gros réseau contrôlé, donc admin féroce, donc aucun changement de configuration, et surtout des paramètres réseaux...
 
gatsu> Oui, je sais que c'est impossible, mais je vais tout de même tester la première solution d'anapajari, car c'est du 100% IE et je pense pas qu'airbus et atr sortent de leurs standards établis depuis si longtemps. C'est des gens qui n'apprécient pas tellement les changements tu sais.
Donc tableaux, js, des msgbox partout, parce qu'ils aiment ça, des tris en javascript, parce qu'il ne faut pas recharger les pages, tout ça tout ça... C'est moche, mal codé, mais je ne reçois que des compliments, que veux tu... [:spamafote]
 
anapajari> merci pour tes solutions... C'est vrai que la seconde est très crade quand même !!
 
J'ai annoncé à mon contact que c'était impossible, raison de sécurité tout ça, et il m'a dit "au pire, on pourrait pas minimiser la première fenêtre ? " Alors en js je sais pas si c'est possible... Peut-être... Une info ?
 
Et merci encore

Reply

Marsh Posté le 09-01-2006 à 09:31:06    

Bon ben anapajari, ta solution semble très bien marcher chez moi. Je vais tester ça un peu partout. En tout cas merci beaucoup, j'arrivais pas à bien jouer avec l'opener..
 
Tu vois Gatsu, t'es pessimiste, c'est pas impossible avec des methodes comme ça :D
 
Merci encore à tous et toutes si éventuellement yavait des dames.

Reply

Marsh Posté le 09-01-2006 à 11:31:55    

ben oui je te comprends j'ai aussi été dans ton cas Backdafuckup :(

Reply

Sujets relatifs:

Leave a Replay

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