Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Chiusura pagina con frames

    devo chiudere dopo n secondi un popup composto da 3 frames, ho utilizzato il classico script che uso per chiudere una finestra semplice ma non funge.

    <script language="JavaScript">
    function Chiudimi()
    {
    parent.close();
    }
    </script>

    e nel body

    onLoad="window.setTimeout('Chiudimi()', 10000)"
    Pippo Giacalone
    giacalone@tin.it

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Quello script dovrebbe funzionare, comunque prova a mettere top al posto di parent (forse la struttura dei frame non e` semplice)

    onLoad="window.setTimeout('top.close()', 10000)"

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Ciao,
    l'onLoad mettilo sul frameset e nn sul body, li dovrebbe funzionare.
    Fammi sapere
    http://www.beavermag.it

  4. #4
    Ok ragazzi funge,

    ma se io volessi chiudere la finestra dopo n secondi di inattività ?

    mi spiego meglio.

    Io apro questo popup e lavoro su di un form ( stiamo parlando di una chat ), se l'utente non digita nulla per n secondi si chiude la finestra automaticamente.
    Pippo Giacalone
    giacalone@tin.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Allora devi resettare il timeout ogni volta che l'utente aggiorna la pagina.

    Non so se occorre prima resettare il timeout o se e` sufficiente riscriverlo (negli esempi non lo resetto).

    Hai comunque necessita` di una variabile GLOBALE in piu`:

    var tempo ;

    ....

    onLoad="tempo = window.setTimeout('top.close()', 10000);"

    Poi ad ogni evento che deve resettare il timeout ripeti:

    <textarea ... onKeyUp="tempo = window.setTimeout('top.close()', 10000);">...

    Nota: devi ricordarti di metterlo in ogni evento che ti interessa.
    Ma fatti un giro nella libreria Wedev (trovi il link in uno dei post in rilevo): forse trovi uno spunto per inserire il timeout di default ad ogni evento della pagina.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    ad ogni digitazione nella textarea fai ripartire la stessa funzione con il contatore che si azzera ad ogni avvio. Se il cntatore arriva in fondo e quindi scade il tempo agisci di conseguenza!
    http://www.beavermag.it

  7. #7
    Ragazzi io vi ringrazio per le risposte che mi date, ma non essendo molto pratico di js faccio sicuramente delle c...ate.

    Vi posso postare il codice e mi spiegate cosa fare ?



    P.S. incredibile ma vero, ho modificato lo script per la chiusura come mi avevate spiegato prima e non funzionava più, ho dovuto modificarla cosi:

    <script language="JavaScript">
    function Chiudimi()
    {
    parent.close();
    }
    </script>

    e nel body

    onLoad="window.setTimeout('Chiudimi()', 10000)"

    paradossalmente così adesso mi funziona.
    Pippo Giacalone
    giacalone@tin.it

  8. #8

    Codice Chat

    Allora questo è il frame dove scrivo il messaggio (msg.asp)

    <meta http-equiv="Content-Language" content="it">
    <link rel="stylesheet" type="text/css" href="chat.css">
    <base target="principale">
    <body class=messages topmargin="0" leftmargin="0" rightmargin="0" onload="document.msgchat.chat.focus()">

    <form method=POST action="chat.asp#fondo" target=principale onsubmit="setTimeout("this.form.chat.value='';",20 )" name="msgchat">


    <table border="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" height="40">
    <tr>
    <td width="12%"><font size="1">MESSAGGIO</font></td>
    <td width="40%"><input type="text" size="50" name="chat" style="border-style: solid; border-width: 1; background-color: #F7F7F7"></td>
    <td width="38%"><input type="submit" value="Invia" size="20"></td>
    </tr>
    </table>
    <input type="hidden" value="msg" name="azione" size="20">
    </form>

    questo è il frame che riceve il messaggio (chat.asp)

    <html>

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <meta http-equiv="Content-Language" content="it">
    <link rel="stylesheet" type="text/css" href="chat.css">
    <title>La Chat</title>
    <base target="msg">

    <script>
    parent.msg.document.forms(0).chat='';
    </script>

    <script language="JavaScript">
    function chiudimi()
    {
    parent.close();
    }
    </script>

    </head>

    <body class=messages topmargin="0" leftmargin="0" rightmargin="0" onLoad="window.setTimeout('chiudimi()', 50000)">
    <div class=hdr>La Chat</div>


    <%

    Response.Expires = 10
    Response.Buffer = True

    if request.form("azione")="msg" and len(request.form("chat"))>0 then

    'AGGIUNGI MESSAGGIO

    arrmsg = Application("msg")
    arrmsg = arrmsg & "#§#" & Now() &_
    "|#|" & Session("ID") & "|#|" &_
    Request.Form("chat")

    Application.Lock
    Application("msg") = arrmsg
    Application.UnLock

    Response.Redirect("chat.asp#fondo")

    end if


    'recupero messaggi

    Response.write "<HTML><HEAD>"
    Response.write "<META http-equiv=""REFRESH"" content=""5; url=#fondo"">"
    Response.write "</HEAD>"

    arrMsg = Application("msg")

    if len(arrMsg) >0 then


    arrMsg = Split(arrMsg, "#§#")

    for j = 1 to ubound(arrMsg)
    msg = Split(arrMsg(j), "|#|")
    Response.write "[*]<font face=Arial Size=2 color=gray>"
    Response.write msg(0)
    Response.write "</font><font face=Arial Size=2 color=#333333>"
    Response.write " [ "
    Response.write msg(1) & " ] - "
    Response.write "</font><font face=Arial Size=2 color=#FF0000>"
    Response.write msg(2) & "</font>"

    next

    Response.write "<a name=fondo></a>"
    end if

    %>
    </body>
    </html>

    Questo è invece il frame che raccoglie gli utenti loggati e li visualizza (users.asp)

    <META http-equiv=""REFRESH"" content=""5;>
    <link rel="stylesheet" type="text/css" href="chat.css">
    <body class=messages topmargin="0" leftmargin="0" onUnload="window.open('logout.asp','chk');">
    <div class=hdr>Utenti Connessi</div>

    <%

    dim arrUtenti

    arrUtenti = Split(Application("Users"),"|")

    for i = 0 to UBound(arrUtenti)

    if arrUtenti(i) = Session.contents("id") then

    arrUtenti(i) = "<font face=Arial Size=2 color=333333>"&arrUtenti(i)&"</font>
    "
    else
    arrUtenti(i) = "<font face=Arial Size=2 color=333333><a href=Scheda.asp?User="&arrUtenti(i)&" target=_blank>"&arrUtenti(i)&"</a></font>
    "
    end if

    Response.Write arrUtenti(i)"
    next

    %>

    Come vedete nel frames users utilizzo onUnload="window.open('logout.asp','chk'); in modo tale che quando la finestra viene chiusa lui disconnette l'utente:

    Questa è la pagina logout.asp

    <% @ Language=VBScript %>
    <% Option Explicit %>
    <%
    Session.Contents.Remove("id")
    %>
    <script>
    window.close();
    </script>

    Sono tante le cose che vorrei chiedervi:

    1) Quando scrivo un msg sul campo chat del form msgchat dopo che clicco sul tasto invia oppure clicco invio sulla tastiera, dovrebbe azzerarsi il campo e trasferire il messaggio appena digitato sul frame principale;
    in questo momento trasferisce il messaggio ma non si resetta il campo.

    2) Quando apro il popup parte il tempo per chiudersi automaticamente lo stesso popup ma se scrivo un messaggio oppure mando un messaggio privato ad un utente ( Questa parte devo ancora svilupparla ) si dovrebbe riazzerare il tempo di chiusura;
    in questo momento dopo essersi aperto il popup si chiude podo 50 seconti.

    3) Quando si collega un utente scrivo la username dell'utente dentro una variabile di sessione chiamata Session.contents("ID").

    Quando chiudo la finestra e parte la pagina logout.asp dovrebbe cancellare la variabile Session.contents("ID") ma in effetti non lo fa.

    4) Per ultimo ho notato non mi visualizza in modo corretto gli utenti collegati in chat, cioè me li elenca in orizzontale e non in verticale.

    Lo so ci vuole una settimana di tempo per rispondermi a tutto ma se avete un po di pazienza a risolvermi questi problemi ve ne sarei grato tantissimo.

    Aspetto vostre notizie

    E grazie in anticipo
    Pippo Giacalone
    giacalone@tin.it

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.