Visualizzazione risultati 1 fino 13 di 13

Discussione: conferma prima di uscire

  1. #1
    Guest

    Unhappy conferma prima di uscire

    salve a tutti
    ho un piccolo script fatto da me, ma siccome in me ce poca esperienza nel ambito javascript, forse lo scritto in maniera errata posto lo script.
    Codice PHP:
    <html>
    <
    head>
    <
    script type="text/javascript">
    <!--
    function
    confirmClose() {
    alert("Vuoi chiudere la finestra corrente.");
    if (
    confirm("Sei sicuro?")) {
    parent.close();
    }
    else
    alert("Chiusura annullata."); {
    }
    }
    // -->
    </script>
    </head>
    <body>
    onunload="return confirmClose()";
    </BODY>
    </HTML>
    questo script mi dovrebbe impedire la chiusura errata della pagina.php inpratica prima di chiudere la pagina, dovrebbe chiedere conferma all'utente se chiuderla e rimanere sulla pagina.php, lo script non funziona per forse lo scritto io in maniera errata, ma se qualche utente esperto conosce un sistema migliore gli ne sarei grato, o magari saprebbe dirmi dove ho sbagliato a scrivere lo script che ho postato io, pls grazie a tutti

  2. #2
    Guest

    Predefinito

    non sono esperto però qui non dovrebbe essere onload?:
    Codice:
    onunload="return confirmClose()";

  3. #3
    Data registrazione
    15-03-2011
    Residenza
    Padova
    Messaggi
    194

    Predefinito

    Citazione Originalmente inviato da gamecity Visualizza messaggio
    non sono esperto però qui non dovrebbe essere onload?:
    Codice:
    onunload="return confirmClose()";
    Esistono entrambi sono due eventi di javascript.

    E sbagliato scrivere così:
    Codice HTML:
    <body> 
     onunload="return confirmClose()";
    ma va scritto così:
    Codice HTML:
    <body onunload="return confirmClose();"> 
    in quanto onunload è un attributo di body in questo caso.
    Ma anche lo stesso non funziona perchè i browser lo considerano un evento troppo invasivo per l'utente.

  4. #4
    Guest

    Predefinito

    si ottmio grazie scusa pero forse ci deve essere qualche altro problema perche quando premo su (Annulla) mi da alert la chiusura annullata, http://webskey.altervista.org/775.html pero dopo mi chiude cmq la pagina, per caso sapete se esiste un sitema per evitare che utente chiuda la pagina web per errore se non in script, anche in php andrebbe bene
    Ultima modifica di webskey : 19-03-2012 alle ore 17.32.28

  5. #5
    Guest

    Predefinito

    è impossibile...ovviamente il browser te lo impedisce...diversamente si potrebbe bloccare completamente l'uscita da un sito...cosa non molto carina.
    per questo motivo è impossibile legare qualsiasi script all'evento onunload o onbeforeunload.
    L'unica cosa che puoi fare è:

    Codice HTML:
    <body onbeforeunload="return 'Per favore fai prima il logout'; ">
    L'effetto sarà una specie di confirm personalizzato e di default.
    Non puoi faro altro.
    Ultima modifica di projectFede : 19-03-2012 alle ore 18.02.46

  6. #6
    Guest

    Predefinito

    ottimo sei un genio grazie 1000 era quello che volevo io, ma un altra cosa questo motodo onbeforeunload, mi giungie nuovo per caso sai se funziona si tutti i browser? sarebbe troppo bello per essere vero

  7. #7
    Data registrazione
    15-03-2011
    Residenza
    Padova
    Messaggi
    194

    Predefinito

    appena provato su crome e explorer tutto ok

  8. #8
    Guest

    Predefinito

    scusate se riposto la domanda lo script di project e ottimo,ma nel mio caso ce un piccolo problem che all' uscire dalla pagina funziona, il problema e che funziona anche quando si aggiorna la pagina, per caso esiterebbe un sistema per evitare che onbeforeunload aggisca anche quando si aggiorni la pagina.

  9. #9
    Guest

    Predefinito

    il problema non può essere risolto in nessun modo (per quanto ne so).

    molto presto però ti accorgerai di sicuro che il problema che dici tu ovviamente si presenta anche se clicchi su un link che ti manda ad una pagina interna del tuo sito. Questo problema è risolvibile in questo modo:

    Codice HTML:
    <html>
    <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
      window.avviso=true;
      $('a').click(function(){
        window.avviso=false;
      });
    });
    
    $(window).unlaod(function(){
      if(window.avviso){return 'Prima fai il logout';}
    });
    </script>
    </head>
    <body>
    Il tuo contenuto
    </body>
    </html>

  10. #10
    Guest

    Predefinito

    si ma e quello che io vorrei che lo script entri in funzione quando un utente cambia pagina o la chiuda, ma non se la pagina si aggiorni da sola per via di un altro script che a la funzione di aggiornare la pagina dopo upload di un file che dopo il file viene mostrato in bacheca della pagina

  11. #11
    Guest

    Predefinito

    Ecco come risolvere.
    Sostituisci la parte dello script che si occupa di aggiornare la pagina con questo:

    Codice:
    $.ajax({
    url: location.href,
    success: function(data){
      alert('inizio');
      $('body').html(data);
      alert('fine');
    }
    });
    Per ora ho messo due alert in modo che tu possa verificare che effettivamente la pagina si aggiorna (se non dovessi vedere modifiche della pagina a seconda di quali alert escono, sai dove si blocca lo script). Ovviamente se funziona toglili.
    Ultima modifica di projectFede : 20-03-2012 alle ore 19.33.18

  12. #12
    Guest

    Predefinito

    si grazie de aiuto cmq ho lasciato perdere mi rendo conto che forse non e possibile , il motivo e che non ce uno script che aggiorna la pagina, ma ben sì quando si salva un file nella pagina si aggiorna in automatico, perche il salvataggio avviene lato server, e pultroppo mi rendo conto che aggiornamento della pagina e = alla chiusura, scusate se vi ho fatto perdere tempo ma solo ora mi rendo conto che quello che volevo fare era una missione impossibile <:-)))

  13. #13
    Guest

    Predefinito

    non è proprio così. Alla fine lo scopo è far capire al browser cosa vuoi fare...e se quello che vuoi fare a parole regge...se si è bravi ce la si fà a farlo capire anche al browser.

    Quello che vuoi fare tu è possibile, bisogna solo incastrare diverse conoscenze costruendo alla nascita il codice in modo che poi a questo punto possa funzionare quello che chiedi.

    Leggendo le tue risposte (perdonami se sbaglio) penso di aver capito che tu non sia molto esperto. Per questo motivo ti consiglio di leggerti tutti i tutorial di javascript su www.html.it e, dopo averlo fatto, iniziare a studiarti tutta la documentazione (in inglese) di jQuery. Ti consiglio di partire dalla funzioni base (.css(), attr(), val()...) a quelle un po' più complesse ( $.ajax(), .animate()....).

    Se hai problemi di inglese ti conviene iniziare a risolverli perchè tutta la documentazione inerente alla programmazione è in inglese ;)

    In bocca al lupo

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •