Visualizzazione dei risultati da 1 a 9 su 9

Discussione: setTimeout ????

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    59

    setTimeout ????

    Sapete dirmi quale può essere il motivo per kui la funzione setTimeout per la chiusura di una finestra viene ignorata?
    L'ho utilizzata per far chiudere una popup dopo 5 secondi .
    In particolare la popup si apre alla chiusura di una finestra in seguito all'evento unLoad!

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    59
    5 secondi vanno indicati come 5000 nella funzione?

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    311
    esatto

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Posta il codice, ma ho la sensazione che fai partire uno script e poi cancelli la pagina (script compreso)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    59
    Questo è il codice della pagina che viene lanciata con l'Unload
    E' il codice riportato sull'articolo di pro.html un pò modificato perchè alcune cose nn mi servono!
    codice:
    <!doctype html public "-//W3C//DTD HTML 4.0 //EN"> 
    <html>
    <head>
    <title>CheckOuT!</title>
    </head>
    <body>
    <script type="text/javascript">
     <!--  // (c) br1 - 2002
      prossima = "clean.php";
      cartella = location.search.substr(1);
      messaggi = false;
      if (opener.closed) { 
       if (messaggi) alert("il browser è stato chiuso")
       c_logout();
      self.focus();
      setTimeout('window.close();',5000);
      //top.close(); 
      } else {
       opener.focus();
       //from = opener.location; 
       //if (typeof(from.href)=="unknown") {
       //if (messaggi) alert("Stai lasciando questo dominio!")
       //c_logout();
       // top.close();
       //} else if (cartella!=""&&from.href.indexOf(cartella)>0) {
       // if (messaggi) alert("Stai lasciando questa cartella")
       // c_logout();
       // top.close();
       //} else {
        
        c_logout();
        top.close();
       //}
      }
      // ----------------------------
      function c_logout() {
       if (prossima!="") {
        
        location.href=prossima;
        
       } else {
        top.close();
       }
      }
     //-->
    </script> 
    
    </body>
    </html>

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ho pulito il codice per capirlo meglio, ed ho aggiunto degli oggetti che ti permettono di farlo girare anche su browser diversi da IE.

    Nel codice ci sono 3 comandi di chiusura (uno non funziona se ci sono frame, e non so spiegarmi perche` sia stato messo in quel modo)

    Ho aggiunto anche degli alert, per verificare quale dei comandi dovrebbe partire.

    codice:
    <!doctype html public "-//W3C//DTD HTML 4.0 //EN"> 
    <html>
    <head>
    <title>CheckOuT!</title>
    </head>
    <body>
    <script type="text/javascript">
      <!--  // (c) br1 - 2002
      prossima = "clean.php";
      cartella = location.search.substr(1);
      messaggi = false;
      if (window.opener.closed) { 
        if (messaggi) alert("il browser è stato chiuso")
        c_logout();
        self.focus();
        alert("chiusura temporizzata");
        setTimeout('window.close();',5000);
      } else {
        window.opener.focus();    
        c_logout();
        alert("chiusura immediata");
        top.close();
      }
      // ----------------------------
      function c_logout() {
        if (prossima!="") {
          alert("cambio pagina");
          window.location.href=prossima;
        } else {
          alert("chiusura nella funzione");
          top.close();
        }
      }
      //-->
    </script> 
    
    </body>
    </html>
    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    59
    Niente nn mi funziona ancora!
    Il motivo sarà forse perchè c'è un iframe!
    Cmq il comando di chiusura che dici che non funzione per via dei frame qual'è?
    Inoltre non funziona solo se lo inserisci sull'iframe o anche se lo metti sul tag body della pagina che contiene l'iframe?

    In ogni modo grazie per il tempo che mi hai dedicato

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    59
    l'iframe ovviamente è sulla pagina che lancia la popup!!

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Il comando che potrebbe non funzionare e` window.close() che dentro una pagian contenuta in un frame va sostituito con top.close()

    Ma con le modifiche che ti ho dato ti dovrebbe dare degli alert: se non te li da` il problema e` altrove.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.