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

    onUnLoad funziona al caricamento della pagina!

    ok ... sarà pure uno scherzo ma giuro che mi accade

    ecco il problema:

    posso usare onLoad e contemporaneamente onUnLoad in uno stesso tag < body >?

    (ecco la riga incriminata:
    <body leftmargin="0" topmargin="0" onLoad="<%call dentro%>" onUnLoad="<%call fuori%>">
    )

    io ho cercato di farlo per avere l'esecuzione di una subroutine al caricamento e di un'altra all'abbandono della pagina ... ma tutte e due vengono eseguite al caricamento ...

    Aiutooooooo!!!!

    (ps: le subroutine sono scritte in VBS e vi giuro che funzionano! solo che funzionano nel momento sbagliato ... )



    enza

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non postare codice ASP... posta quello che riceve il browser

    posso usare onLoad e contemporaneamente onUnLoad in uno stesso tag < body >?
    Certo...

    Anche vedere gli script richiamati potrebbe aiutare.

    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

  3. #3
    :rollo: ehm ... certo ... ecco le due subroutine

    codice:
    sub dentro
    
    	dim conn, rs
    	set conn=server.createobject("ADODB.Connection")
    	conn.open("DRIVER={microsoft Access Driver (*.mdb)}; DBQ= " & server.mappath("../dati/comunicazione.mdb"))	
    	conn.execute("insert into visiteforum(soggetto, username, idsoggetto, corso, gruppo, ora) values('"& session("soggetto") &"', '"& session("user") &"', "& session("id") &", '"& session("corso") &"', '"& session("gruppo") &"', Time())")
    	conn.close
    	set conn=nothing
    
    end sub
    
    
    sub fuori
    
    	set conn=server.createobject("ADODB.Connection")
    	conn.open("DRIVER={microsoft Access Driver (*.mdb)}; DBQ= " & server.mappath("../dati/comunicazione.mdb"))	
    	conn.execute("delete from visiteforum where idsoggetto="& session("id") &"")
    	conn.close
    	set conn=nothing
    
    end sub
    la prima dovrebbe inserire il nome di chi è entrato nella pagina ... la seconda dovrebbe cancellarlo all'uscita dalla pagina

    l'inserimento funziona perfettamente sia che lo richiami nel body sia che lo richiami nel corpo della pagina ... la seconda, invece, la metto nel body con onUnLoad e mi viene eseguita all'ingresso invece che alla chiusura ...

    ho provato a metterli insieme (onLoad e onUnLoad) ... oppure separati (corpo e onUnLoad) ... l'effetto è sempre lo stesso: invece che in chiusura FUORI viene eseguita all'apertura della pagina



    ... non ho capito bene cosa mi chiedi nel primo rigo della tua risposta ... il browser non riceve niente delle due subroutine ... sono solo chiamate che scrivono o cancellano dati nell'archivio ... forse è quello che non si può fare?
    ma se è così ... perché DENTRO viene eseguita in ogni caso?

    Per tutte le cavolate che potrei aver scritto ... perdono!!! ... ricordati sempre che con JS sono un catorcio ... è per questo che ho chiesto aiuto!

    ciao

    enza

  4. #4
    Ho cercato di risolvere in questo modo (barbaro!):

    codice:
    <body leftmargin="0" topmargin="0" onLoad="<%call dentro%>" onUnLoad='window.open("fuori.asp?id=<%=session("id")%>","","resizable=0, menubar=0, toolbar=0")'>
    e nella finestra richiamata faccio eseguire FUORI e poi chiudere la finestra automaticamente

    Così funziona



    ma mi restano due perplessità ...

    1) la finestra che per un microsecondo si apre è comunque visibile all'occhio ... brutto effetto anche se si chiude in un attimo e da sola ....

    2) ma PERCHE' in onLoad riesce ad eseguire una subroutine scritta in VBS e in onUnLoad no?
    che differenza c'è?

    qualcuno sa spiegarmelo?

    perché se non ho una spiegazione non riesco a memorizzare e dunque ad imparare ...

    enza

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Le tue sub sono da eseguirsi sul server... VVoVe: e ovviamente il server le esegue prima di inviare la pagina al browser

    Il conteggio utenti funziona in altro modo... ti sposto su ASP
    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


    comunque perché con onLoad funziona ... questo rimane sempre un gran mistero

    sto' server fa quello che gli pare?


    alla fine comunque sono riuscita a fargli contare gli utenti ... sarà vero che ste' povere macchine devono sopportarci (come dici tu nella tua firma) ... ma alla fine è sempre l'intelletto che prevale sul circuito!!!!



    tecnologie o meno ... un bel database risolve sempre tutto

    GRAZIE di tutto
    enza

  7. #7
    br1 mi ha spostata qui ... ma leggendo e rileggendo la mia pagina rimango sempre dell'idea che il codice in VBS non c'entri nulla ... il server legge la subroutine ma non la esegue se non è richiamata ... e nella mia pagina la sub è chiamata all'uscita della pagina ... per cui l'evento si scatena con l'azione del client ... resto ancora convinta che il comportamento di quell'unOnLoad sia tutto ...

    comunque se qualcuno qui può illuminarmi e togliermi i dubbi ... giusto per imparare sempre di più



    intanto io ho risolto chiamando una finestra che esegue lo script

    l'eleganza era distratta ... intanto la pagina funziona!!!

    enza

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    il server legge la subroutine ma non la esegue se non è richiamata
    Da un evento lato client?

    Tu la richiami lato server (il codice asp viene eseguito prima di inviare la pagina al client):
    onUnLoad="<%call fuori%>"
    Va be', anche se non ho spiegato bene il concetto importante e' che tu abbia risolto, per approfondire l'argomento c'e' sempre tempo.

    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

  9. #9
    oh no, tu hai spiegato bene ... ho capito quello che mi hai detto

    nessuna preoccupazione!!!

    è solo che io lo faccio spesso lo scherzo di richiamare codice dal lato client ... e funziona sempre

    almeno fino all'onUnLoad di questa volta!



    la prova è che, come ho già detto, la chiamata della sub dall'onLoad funziona.

    Da assoluta ignorante (e non scherzo! ) io provo per imparare ... e imparo quello che funziona

    d'altra parte se ci pensi non è tanto strano ... un evento è comunque qualcosa che va comunicata ... così come un clic in un form (che è un oggetto html no?) può far funzionare del codice VBS (quando spedisco il form questo può contenere dati generati sul server) perché non può farlo JS?

    Comunque per me che sono semi-nuova di questo modo di interagire (il forum), devo dire che si impara moltissimo qui

    un solo problema: quando cerco negli archivi non trovo quasi mai ... devo impegnarmi ancora un po'



    enza

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il tuo codice non funziona all'evento onload, bensi' direttamente sul server [n]prima[/b] che la pagina sia inviata al browser.

    E cosi' vale anche per il codice che hai messo nell'evento onunload

    Quanto dici conferma la mia incapacita' di spiegare... faresti meglio a consultare un manuale.

    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

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.