Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Chiusura pagina web

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    359

    Chiusura pagina web

    Salve a tutti è da qualche giorno che sto cercando in lungo e largo sul web e sui vari forum, materiale e codice per poter intercettare la chiusura di una pagina web. Lo sò benissimo che di materiale se ne trova molto in rte e che ci sono ampie discussioni sul tema, ma i codici che ho trovato non funzionano o malmeno solo in parte e di tutte le discussioni che ho trovato e letto nessuna porta ad un risultato concreto e funzionante.

    In pratica quello che vorrei è molto semplice, l'utente dopo che si è loggato accede ad una pagina di menù, in questa pagina potrà effettuare delle azioni e trova anche il bottone di logout, ma come spesso accade molti cliccano sulla X in alto a destra e chiudono la pagina lasciando così la sessione aperta, quello che desidero è che se clicca sulla x e quindi intercettare l'evento onunload sulla pagina stessa, si attivi un codice javascript che rimandi ad una pagina dove eseguo del codice asp per azzerare un valore di un campo nel db.
    Spero di essere stato abbastanza chiaro, vi inserisco il codice che ho provato ma che non funziona.
    codice:
    <head>
    <script>
    window.onunload = function()
    {
      document.getElementById('ciao').innerHTML = 'Boom!';
    }
    </script>	
    </head>
    <body topmargin="15" bottommargin="15" bgcolor="#01461a"><p id="ciao"></p>
    Chi Crede in Me non Perirà MAI

  2. #2

    My God...

    Quote Originariamente inviata da devil946 Visualizza il messaggio
    Salve a tutti è da qualche giorno che sto cercando in lungo e largo sul web e sui vari forum, materiale e codice per poter intercettare la chiusura di una pagina web. Lo sò benissimo che di materiale se ne trova molto in rte e che ci sono ampie discussioni sul tema, ma i codici che ho trovato non funzionano o malmeno solo in parte e di tutte le discussioni che ho trovato e letto nessuna porta ad un risultato concreto e funzionante.

    In pratica quello che vorrei è molto semplice, l'utente dopo che si è loggato accede ad una pagina di menù, in questa pagina potrà effettuare delle azioni e trova anche il bottone di logout, ma come spesso accade molti cliccano sulla X in alto a destra e chiudono la pagina lasciando così la sessione aperta, quello che desidero è che se clicca sulla x e quindi intercettare l'evento onunload sulla pagina stessa, si attivi un codice javascript che rimandi ad una pagina dove eseguo del codice asp per azzerare un valore di un campo nel db.
    Spero di essere stato abbastanza chiaro, vi inserisco il codice che ho provato ma che non funziona.
    codice:
    <head>
    <script>
    window.onunload = function()
    {
      document.getElementById('ciao').innerHTML = 'Boom!';
    }
    </script>    
    </head>
    <body topmargin="15" bottommargin="15" bgcolor="#01461a"><p id="ciao"></p>
    Prova inserendo onunload="alert(`addio`);" nel body.
    Ultima modifica di jabjoint; 20-09-2020 a 16:04
    jabjoint

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    359
    Niente da fare, non si apre l'alert, ma avevo già provato: In effetti è giusto che non sia apra poichè ho chiuso la pagina quindi l'evento non si scatena o se si scatena si dovrebbe scatenare ma su una pagina già chiusa. Altre idee?
    Chi Crede in Me non Perirà MAI

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    359
    Grazie Andrea, del tuo supporto ma, come lo inserisco nella mia pagina,e come lo richiamo?
    Potresti farmi un banalissimi esempio.
    Grazie
    Chi Crede in Me non Perirà MAI

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Quote Originariamente inviata da devil946 Visualizza il messaggio
    molti cliccano sulla X in alto a destra e chiudono la pagina lasciando così la sessione aperta, quello che desidero è che se clicca sulla x e quindi intercettare l'evento onunload sulla pagina stessa, si attivi un codice javascript che rimandi ad una pagina dove eseguo del codice asp per azzerare un valore di un campo nel db.
    Anche se non è la risposta al tuo problema, ti do ugualmente il mio consiglio: evita assolutamente di dover fare una cosa del genere.

    Se il dato viene conservato dal server, significa che è presente un concetto di sessione, e pertanto qualora il browser non abbia più contatti per diversi minuti (configurabili) con il server, si può dare per scontato che la sessione sia stata chiusa e che l'utente abbia navigato altrove oppure chiuso il browser.

    Tutti gli strumenti lato server gestiscono questa casistica e, alla scadenza della sessione, vanno a eliminare tutti i dati relativi ad essa.

    Se invece ci troviamo in un ambito stateless, senza il concetto di sessione, non è nemmeno necessaria l'implementazione indicata qui sopra, poiché si possono memorizzare tutte le informazioni direttamente sul client e far sì che queste vengano automaticamente rimosse dal browser quando viene chiuso o il sito viene abbandonato.

    Tutte le altre soluzioni sono ascrivibili ad "accrocchi" che non danno nemmeno garanzia del risultato, anche perché se chiudo il browser tu non puoi fattivamente navigare a un'altra pagina, o in certi casi potrebbe trattarsi anche di un browser mobile che non viene chiuso, o che si chiude forzatamente, impedendo qualsiasi ulteriore azione una volta che il sito è stato abbandonato.

    Riassumendo, non vedo motivi validi o sensati per l'implementazione che stai cercando di fare.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Un sistema c'è ed io lo utilizzo in una chat.
    Lavorare a fullscreen
    La X di chiusura non c'è e occorre premere esc su desktop oppure back su mobile.
    In questo modo si toglie il fullscreen che è un evento intercettabile.
    Di conseguenza si possono eseguire delle operazioni.

  8. #8
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,505
    assurdo solo pensare di forzare l'utente in questi modi. la strada di alka è quella giusta.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    359
    Ok io concordo in pieno con quello che dice Alka sul fatto di non costringere l'utente a fare certe cose o dover sottostare a certe restrizioni.
    Ma allora come posso far in modo che se clicca sulla x la sua sessione e quindi tutte le variabili di sessione di conseguenza decadano?
    Chi Crede in Me non Perirà MAI

  10. #10
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,505
    fallo lato server. un job che cancella la sessione se non ci sono attività da oltre 15 minuti...
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


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.