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

Discussione: alert con attesa

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    155

    alert con attesa

    ciao a tutti premetto che non ono un esperto in javascript o applets...
    Esiste il modo di far apparire un alert(o un altro messaggio) che resti visualizzato per alcuni secondi e poi scompaia?

    Io ho fatto questo script, ma vorrei far sì che resti per 2 secondi e che poi automaticamente esca e continui sulla pagina index.html.

    if((width==800)&&(height==600))
    {
    alert("La risoluzione del tuo video e' " + width + " x " + height + ", ideale per visualizzare questo sito");
    }


    Qualcuno mi sa aiutare??
    Grazie


  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    In codesto modo no.

    I vari alert, confirm, ... aspettano un'azione dell'utente, e non possono venir chiusi in modo autonomo.

    Puoi fare una popup a tempo, che puo` anche venir chiusa dall'utente:

    ...
    if (...) {
    popuptempo("La risoluzione del tuo video e' " + width + " x " + height + ", ideale per visualizzare questo sito");
    }

    dove la funzione popuptempo:
    codice:
    function popuptempo(str) {
      var c = "\<html\>\n\<head\>\n\<title\>popup a tempo\<\/title\>\n\<\/head\>\n";
      c += "\<body onload\=\'setTimeout\(\\\"self.close\(\)\\\",10000\)\;\'\>\n";
      c += "\<p\>" + str + "\<\/\>\n";
      c += "\<a href=\'\#\' onclick\=\'self.close()\;\'\>chiudi finestra\<\/a\>\n";
      c += "\<\/body\>\n\<\/html\>\n";
    
      var W = window.open("","popuptmp", "width=100,height=100");
      W.document.write(c);
    }
    Nota: attenzione a tutti i backslash: fai un quote del messaggio e poi fai copia-incolla.

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    155
    Wow bellissimo però ho un paio di problemi di utilizzo:

    come faccio a scrivere Chiudi finestra nella riga sotto??
    Non funziona il \n??

    Come si setta il tempo per la chiusura?? Quello settato a 10000 io ho provato a metterlo a 0 ma non cambia niente non si chiude mai


    Grazie ciao Massimo

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    > come faccio a scrivere Chiudi finestra nella riga sotto??
    > Non funziona il \n??
    No, il \n e` solo per il sorgente: in HTML devi inserire uno o piu`
    (scusa, li ho dimenticati).

    Non puoi settare il tempo a 0 (altrimenti puoi non mettere il timeout, ma non credo che lo volessi).
    10000 corrisponde a 10 secondi, ma devi metterci qualcosa. Prova con 1000 o 3000.

    Nota: io non ho provato quello script (si e` visto). Controlla cosa arriva alla finestrella (click destro > sorgente).

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    155
    Ok adesso mi va a capo, effettivamente se pensassi un po si più...
    Però la finestrella non si chiude, ho provato con 1000 10000 d altro ma resta sempre lì. Il sorgente mostra tutto come lo script:

    <SCRIPT LANGUAGE="JavaScript">
    function popuptempo(str) {
    var c = "\<html\>\n\<head\>\n\<title\>Risoluzione Video\<\/title\>\n\<\/head\>\n";
    c += "\<body onload\='setTimeout\(\\\"self.close\(\)\\\",1000\) \;'\>\n";
    c += "\<p\>" + str + "\<\/\>\n\n";
    c += "\<a href='\#' onclick\='self.close()\;'\>
    chiudi finestra\<\/a\>\n";
    c += "\<\/body\>\n\<\/html\>\n";

    var W = window.open("","popuptmp", "width=200,height=150");
    W.document.write(c);
    }

    Io come ti ho detto non sono molto pratico.... :master:

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da sarto76
    Ok adesso mi va a capo, effettivamente se pensassi un po si più...
    Però la finestrella non si chiude, ho provato con 1000 10000 d altro ma resta sempre lì. Il sorgente mostra tutto come lo script:

    <SCRIPT LANGUAGE="JavaScript">
    function popuptempo(str) {
    var c = "\<html\>\n\<head\>\n\<title\>Risoluzione Video\<\/title\>\n\<\/head\>\n";
    c += "\<body onload\='setTimeout\(\\\"self.close\(\)\\\",1000\) \;'\>\n";
    c += "\<p\>" + str + "\<\/\>\n\n";
    c += "\<a href='\#' onclick\='self.close()\;'\>
    chiudi finestra\<\/a\>\n";
    c += "\<\/body\>\n\<\/html\>\n";

    var W = window.open("","popuptmp", "width=200,height=150");
    W.document.write(c);
    }

    Io come ti ho detto non sono molto pratico.... :master:
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ci sono in effetti degli errori.
    Il forum si e` mangiato un po' di backslash (le piu` importanti), e qualcuna la avevo dimenticata io. Inoltre mi ero dimenticato il return false

    Devi mettere una backslash davanti ad ognuno dei seguenti caratteri:
    < > / \ = + [ ] { } ( ) ; : " ' . , #

    Il
    lo hai inserito in un posto non molto corretto (ma non sbagliato). Forse e` meglio usare i

    , in modo da renderla compatibile anceh con i browser futuri.

    la pagina risultante deve essere:
    codice:
    <html>
    <head\>
    <title>Risoluzione Video</title>
    </head>
    <body onload='setTimeout(\"self.close()\",1000);'>
    
    
     stringa immessa</p>
    
    
    chiudi finestra</p>
    </body>
    </html>
    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    155
    Ho provato a ricontrollarlo molte volte ma mi sembra tutto a posto. In self.close ci vuole il \? cmq ho provato anche senza. Non sarà qualcos'altro??



    function popuptempo(str) {
    var c ="\<html\>\<head\\\>\n\<title\>Risoluzione Video \<\/title\>\n\<\/head\>";
    c +="\<body onload\=\'setTimeout\(\\\"self\.close\(\)\\\"\,100 \)\;\'\>";
    c +="\<p\>"+str+"\<\/p\>";
    c +="\<p\>\<a href\=\'\#\'onclick\=\'self\.close\(\)\;return false\;\'\>chiudi finestra\<\/a\>\<\/p\>";
    c +="\<\/body\>\<\/html\>";

    var W = window.open("","popuptmp", "width=200,height=150");
    W.document.write(c);
    }

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Cosa ti fa (o non ti fa) esattamente?

    Manca uno spazio prima dell'onclick, per cui potrebbe non funzionare il link.

    Nella finestra di popup, dovrebbe esserci il codice HTML, non il JS che lo crea, ma a volte i browser fanno come piace a loro.

    Con che browser lo stai testando?
    Ce l'hai in linea? mi puoi dare il link?

    Una backslash in piu` non da` problemi. Se testi con IE puoi anche saltarle quasi tutte (tranne davanti a ' e "), ma poi la pagina non gira con altri browser.

    Puoi provare a sostituire self con window (ma stando ai sacri testi dovrebbe essere la stessa cosa).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    155
    purtroppo non ce l'ho in linea, lavoro in locale per il momento... Browser Internet explorer, quindi dovrebbe andare...

    La finestra si chiude se clicco su chiudi finestra l'unico problema è che non funziona il Timeout, la finestra se non la chiudo io non sparisce mai

    Provo ancora...


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.