Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1512 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [javascript]popup avec setTimeout : ça se close() pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[javascript]popup avec setTimeout : ça se close() pas

n°1197258
thesmiling​face
Earth Disasters Fundation
Posté le 11-09-2005 à 20:38:34  profilanswer
 

Salut à tous.
Je me tourne vers vous car je ne trouve plus comment pallier à ce problème.
 
tout d'abord j'explique.
C'est un pote qui veut que sa popup se ferme quand on quitte son site.
j'ai adapté son code pour tester périodiquement si la fenetre appelante est fermée ou si l'hostname de son adresse n'est plus celui de son site.
probleme le test semble fonctionner mais ça ne se ferme pas.
2eme probleme j'ignore quel est le meilleur timing pour mes tests.
 
le code actuel ci-joint

Code :
  1. <SCRIPT LANGUAGE="JavaScript">
  2. function PopupImage(img) {
  3. titre=":: ZOOM ::";
  4. w=open("",'image','top='+(screen.availHeight/2-200)+',left='+(screen.availWidth/2-200)+',width=350,height=400,toolbar=no,scrollbars=no,resizable=no');
  5. w.document.write("<HTML><HEAD><TITLE>"+titre+"</TITLE></HEAD>" );
  6. w.document.write("<SCRIPT language=javascript>function checksize()  { if (document.images[0].complete) {  window.resizeTo(document.images[0].width+5,document.images[0].height+30); window.focus(); /* ici je lance mon test */ isparentexist(); } else { setTimeout('check()',250) } }\n" );
  7. /* portion de code qui vous intéresse */
  8. w.document.write("function isparentexist() { "
  9.    +"if(!window.opener) { /* ici demande de fermeture */ /*clearTimeout(fermepas);*/ setTimeout('window.close()', 3000); } "
  10.    +"else if(window.opener.location.hostname!='************.free.fr') { /* ici demande de fermeture */ /*clearTimeout(fermepas);*/ setTimeout('window.close()', 3000);  }"
  11.    +"else { alert('ok - '+window.opener.location.href+' - '+window.opener+' - '+window.opener.location.hostname); fermepas= setTimeout('isparentexist()',1000); }"
  12.   +"} </"+"SCRIPT>" );
  13. /* fin de portion de code qui vous intéresse */
  14. w.document.write("<BODY onload='checksize()' oncontextmenu='return true' ondragstart='return false' onselectstart='return false' leftMargin=0 topMargin=0 marginwidth=0 marginheight=0><meta http-equiv=imagetoolbar content=no /><a href='#' onClick='window.close()'><IMG src='"+img+"' border=0'>" );
  15. w.document.write("</BODY></HTML>" );
  16. w.document.close();
  17. }
  18. PopupImage('http://************.free.fr/upload/134956683.gif');
  19. </SCRIPT>


voilà, si vous pouvez me filer un coup de main, c'est pas de refus. [:and garfunkel]

mood
Publicité
Posté le 11-09-2005 à 20:38:34  profilanswer
 

n°1197293
FlorentG
Posté le 11-09-2005 à 23:11:53  profilanswer
 

Dis, t'aurais pas plus moche comme code ? [:johneh]

n°1197294
FlorentG
Posté le 11-09-2005 à 23:12:17  profilanswer
 

C'est une vrai catastrophe... Tout ce qu'il ne faut pas faire a été fait...

n°1197298
thesmiling​face
Earth Disasters Fundation
Posté le 11-09-2005 à 23:20:14  profilanswer
 

en quoi il est catastrophique ?
le PopupImage semble etre repiqué (j'ai vu le meme code en visitant les topics). les evenement bloquant l'image zoomée sont de son fait. j'ai beau lui dire que c'est inutile, il n'en demord pas. il m'a meme demandé tout a l'heure de lui bloquer l'imprim ecran, c'est dire.
 
le bout de code que j'ai pondu présente quels defauts ?
est-ce qu'il y a un moyen d'obtenir la meme finalité par un biais plus simple ?
merci

n°1197401
gatsusat
Posté le 12-09-2005 à 10:11:10  profilanswer
 

rend ton code Javascript Externe à la popup appelée. En gros tu fais appel à un .JS
 
et utilise setInterval qui m'a l'air plus propice pour ton code de merde

n°1197403
0x90
Posté le 12-09-2005 à 10:12:06  profilanswer
 

close() est soumis à autorisation selon les navigateurs il me semble ... ( dumoins sous ffox )


Message édité par 0x90 le 12-09-2005 à 10:12:40

---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1197421
gatsusat
Posté le 12-09-2005 à 10:21:24  profilanswer
 

0x90 a écrit :

close() est soumis à autorisation selon les navigateurs il me semble ... ( dumoins sous ffox )


close() ne fonctionne que si la popup qui est ouverte a été appelée par script (sous FF) sous IE elle peut etre fermée naturellement.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [javascript]popup avec setTimeout : ça se close() pas

 

Sujets relatifs
popup spécifiqueéditeur en javascript a placer sur un site( mini word)
ouvrir une page en bas de page en javascript[javascript] Opener quand la popup a été fermée
[aide] popup image javascript ?!recuperer le resultat d'une execution javascript
checkbox et javascript "checkall"Protéger du code javascript via un script php
Plus de sujets relatifs à : [javascript]popup avec setTimeout : ça se close() pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR