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

    OnClose javascript che richiama file php

    Come da oggetto, senza stare a scomodare cose complicate o astruse, avrei la semplice necessità che alla chiusura di una finestra, (onclose credo...) tramite javascript possa richiamare ed eseguire un determinato file php che mi scrive su DB la data in cui tale finestra è stata chiusa.

    Come è la sintassi in javascript per richiamare tale file?

    Sono un brocco e scusate
    Intanto riprovo a cercare.

    Ciao!

  2. #2
    ehmm..

    una cosa così?
    codice:
    <script language="JavaScript" src="http://www.dominio.com/file.php?param=1"></script>

  3. #3
    Ok così me lo esegue... ma come faccio ad eseguirlo ONCLOSE?

  4. #4
    oppure su ONUNLOAD..

    mmm chi mi aiuta?

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    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
    mmmmmm non è proprio così che volevo fare.
    Nell'articolo vedo che alla chiusura della pagina ne viene richiamata un altra per fare un pò quello che uno vuole.

    codice:
    <body onUnload="window.open('chkclose.htm','chk');">
    In questo modo però alla chiusura di una finestra se ne apre un'altra. (fastidiosissimo)

    Non posso fare in modo che alla chiusura onUnload mi venga semplicemente chiamato un file? (php quindi)
    Senza window.open quindi.



    Cioè... fare così

    codice:
    <script language="JavaScript" src="http://www.dominio.com/file.php?param=1"></script>
    ma vorrei che si eseguisse solo onUnload


  7. #7
    scomodando ajax si riesce?

  8. #8
    Non puoi inserire tu un pulsante di chiusura nella finestra aperta con window.open()
    appena si preme il pulsante richiama un prg.php ed esegue window.close()

    <input name="image1" type="image" onclick="window.open(prg.php?....)" src="fig1.png" />

    nel prg.php richiama le routine prototype
    <input type="button" name="OK" value="chiudi" onClick="javascript:Chiudi()">

    <script type="text/javascript">
    function Chiudi()
    {
    new Ajax.Request('notifica.php', {method: 'post',
    parameters: {
    FLAG1: "1",
    VAR2: "valore"
    },
    onComplete: function(transport){
    var t = transport.responseText || "nessuna risposta";
    window.close();
    },
    onLoading: function(){......},
    onFailure: function(){.........}
    });
    }
    </script>

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Tutto l'ambaradan della procedura e' dovuto al fatto che l'evento onunload scatta anche quando semplicemente si cambia la pagina nella finestra, puoi ovviare solo con un (minimo) disagio (e sperando che l'utente non abbia disabilitato i popup).

    Inoltre fare ricorso ad una semplice funzione non impedisce alla finestra corrente di chiudersi, con la scomparsa degli script presenti... talvolta impedendo il normale completamento di questi (puo' essere richiamata una sola funzione che non puo' a sua volta richiamarne altre).

    ciao
    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

  10. #10
    'petta 'petta... ora vi spiego il caso preciso e del perchè ho necessità che NON si apra una nuova finestra o che si usi un pulsante per chiuderla.

    In pratica da un sito internet faccio aprire una nuova finestra contenente un oggetto didattico.

    Al momento dell'apertura di questa finestra scrivo su DB la data giorni ore minuti secondi in cui è avvenuto l'evento. (cioè l'apertura di questa finestra ovvero il tempo di ingresso).

    A questo punto l'utente con la sua bella pagina davanti al naso legge il contenuto.

    Una volta che finisce chiude la finestra.

    Il problema nasce in questo momento perchè ho la necessità di salvare su DB il tempo di uscita dalla pagina; tutto questo perchè devo poter calcolare il tempo di permanenza sulla pagina. (tempo di uscita - tempo di ingresso).

    Ovviamente potrei mettere un bottone per far chiudere la finestra ma 9 volte su 10 l'utente chiude la pagina dalla X in alto a destra.

    Ora che ci penso la pagina di consultazione dell'oggetto didattico può prevedere una navigazione al suo interno e quindi non è il caso di usare onUnload.

    Se l'utente infatta salta di pagina in pagina non ho problemi nel capire i tempi di permanenza ma se mi chiude la pagina e io non prevedo un javascript "di salvataggio" non ho modo di capire quando effettivamente la fruizione dell'oggetto didattico è terminata.

    Ecco perchè credo proprio che mi serva che scatti qualcosa su onClose.

    Magari modificando questo script scritto da Corrado22
    codice:
    <body onClose="javascript:Chiudi()">
    
    <script type="text/javascript">
    function Chiudi()
    {
    new Ajax.Request('notifica.php', {method: 'post',
    parameters: {
    FLAG1: "1",
    VAR2: "valore"
    },
    onComplete: function(transport){
    var t = transport.responseText || "nessuna risposta";
    window.close();
    },
    onLoading: function(){......}, 
    onFailure: function(){.........}
    }); 
    }
    </script>
    Non so.. mumble

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.