Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    [jQuery] beforeunload, dialog e attesa prima di chiusura pagina

    Ciao Ragazzi!
    Sto facendo una piccola (e antipatica, accroccosa) procedura per fare in modo che alla chiusura della pagina appaia un "qualcosa" che informi l'utente che i dati si stanno salvando... una volta salvati i dati l'utente può chiudere la pagina.
    Il piccolo codice che ho usato che intercetta l'evento beforeunload funziona benissimo ed è questo.
    codice:
    $(window).bind('beforeunload', function(){
     return "OMG IT SPINS";
    });
    Quindi quando si cerca di chiudere la finestra appare il dialog "OMG IT SPINS" con le due scelte "Chiudi la finestra" / "Resta nella pagina"
    Quello che vorrei fare è, prima di far apparire la scelta "Chiudi"/"Resta", attendere il completamento delle operazioni che una determinata funzione esegue (scrive su DB dei dati).
    In pseudocodice.
    codice:
    $(window).bind('beforeunload', function(){
      se(funzioneScriviNelDB()){
         // ok ha finito
         return "OK dati salvati";
    }else{
         return "Attendere prego... salvataggio in corso";
    }
    });
    Come potrei fare?

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ti accontenteresti di un "non si può"?

    Tieni presente che i desideri dell'utente hanno la priorita' sui tuoi: se lui non vuole che i dati siano salvati che dovrebbe fare? staccare la spina? (prova ad evitare questa )
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    emmmm ... ma nel mio caso i dati DEVONO essere salvati perchè è l'utente che LO ESIGE.
    Devo salvare i dati di fruizione di un test "scaricando" su DB i vari valori generati (so che si potrebbe fare via via ma sono vincolato da una certa struttura dalla quale non posso distaccarmi).
    Mi accontenterei anche di questo...
    codice:
    $(window).bind('beforeunload', function(){
      funzioneScriviNelDB());
    // attende 5 secondi ipotizzando che questo tempo sia suffieciente alla funzione precedente per terminare il suo lavoro
    // in questi 5 secondi nel dialog appare 5, 4, 3, 2, 1 (o anche "attendere...")
    // finito questo permette di uscire
    return "Ok dati salvati!";
    });

  4. #4
    Bene.
    Praticamente dovrei fare questo.
    http://pure-essence.net/2010/02/14/j...out-countdown/
    Prenderò spunto e sono a posto.
    Ciaoooo

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ah, si, e' proprio quello che hai chiesto
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    E' esattamente quello che ho chiesto, magari non hai letto con attenzione.

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Originariamente inviato da PazZII
    Bene.
    Praticamente dovrei fare questo.
    http://pure-essence.net/2010/02/14/j...out-countdown/
    Prenderò spunto e sono a posto.
    Ciaoooo
    Ma l'hai potuto testare con l'evento beforeunload?
    Perché secondo me non funziona, ma spero di sbagliarmi.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Originariamente inviato da cavicchiandrea
    Ma l'hai potuto testare con l'evento beforeunload?
    Augurami buona fortuna... bò ci provo.
    lol

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Originariamente inviato da PazZII
    Augurami buona fortuna... bò ci provo.
    lol
    Io opterei più per un miracolo, non avendo la gestione del beforeunload (che intercetta solo la pressione della x) ma forse mi sbaglio e in questo caso posta la soluzione completa potrebbe essere utile in futuro.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Originariamente inviato da cavicchiandrea
    Io opterei più per un miracolo, non avendo la gestione del beforeunload (che intercetta solo la pressione della x) ma forse mi sbaglio e in questo caso posta la soluzione completa potrebbe essere utile in futuro.
    Proverò stasera ma credo sia impossibile, peccato quel dialog era perfetto ma beforeunload è tremendo.
    Nel caso vi faccio sapere.
    Grazie a tutti.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.