Ritardare apertura finestra con Javascript

tommylenoci

Nuovo Utente
13 Mar 2015
3
0
0
Buongiorno a tutti, mi sono appena iscritto, è la mia prima discussione e non sono bravo come voi.
Fatta questa premessa, vi chiedo di aiutarmi a risolvere un problema che non mi fa più dormire.
Ho realizzato, per velocizzare il mio lavoro, una pagina web per gestire un archivio online di professionisti (circa 1000).
In pratica, in questa pagina web, c'è un elenco a discesa in javascript contenente i nominativi di tutti questi professionisti. Cliccando un nominativo, si apre un pop-up contenente l'elenco dei link ai protocolli collegati ad esso. Ovviamente ogni nominativo punta ad una cartella contenuta in un'altra cartella chiamata "archivio".
Ho inserito nell'HEAD questo codice:

<script type="text/javascript">
function apri(url) {
newin = window.open(url,'titolo','scrollbars=no,resizable=yes,top=50,left=100,width=500,height=200,status=no,location=no,toolbar=no');
}
</script>


mentre nel BODY:

<td width="40%">
<select name="url" onchange="location.href = this.value;">
<option value="#" selected="selected">&nbsp;</option>
<option value="javascript:apri('archivio/NOME1');">GIULIO CESARE</option>
<option value="javascript:apri('archivio/NOME2');">PINCO PALLINO</option>
.
.
<option value="javascript:apri('archivio/NOME1000');">VASCO ROSSI</option>
</select>
</td>


Il problema è che a volte un protocollo ci mette più tempo a caricarsi e il pop-up mi fornisce una pagina bianca (vuota).
Pertanto, avrei bisogno di qualcosa, sempre in javascript, per ritardare di un paio di secondi l'apertura del pop-up in modo di dare più tempo al protocollo di caricarsi.
Spero di essere stato abbastanza chiaro e spero soprattutto che possiate aiutarmi.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, non credo sia questo il problema, bisognerebbe vedere cosa fai nel popup
comunque puoi usare setTimeout("nomefunzione",millisecondi);
 

tommylenoci

Nuovo Utente
13 Mar 2015
3
0
0
Ciao, non credo sia questo il problema, bisognerebbe vedere cosa fai nel popup
comunque puoi usare setTimeout("nomefunzione",millisecondi);
Ciao, grazie per la risposta e scusami per il ritardo ma sono stato fuori e non ho potuto collegarmi prima.
Cosa intendi per "bisognerebbe vedere cosa fai nel popup"?

la funziona setTimeout dove la inserisco?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
HTML:
function apri(url) {
        setTimeout(function () {
            newin = window.open(url, 'titolo', 'scrollbars=no,resizable= yes,top=50,left=100,width=500,height=200,status=no ,location=no,toolbar=no');
        }, 2000);
    }
In questo modo ritardi l'apertura della finestra di due secondi, ma anche il contenuto della index si caricherà dopo 2 secondi
 

tommylenoci

Nuovo Utente
13 Mar 2015
3
0
0
HTML:
function apri(url) {
        setTimeout(function () {
            newin = window.open(url, 'titolo', 'scrollbars=no,resizable= yes,top=50,left=100,width=500,height=200,status=no ,location=no,toolbar=no');
        }, 2000);
    }
In questo modo ritardi l'apertura della finestra di due secondi, ma anche il contenuto della index si caricherà dopo 2 secondi
Innanzitutto chiedo scusa perchè mi sono espresso male dal primo momento. Ciò che vorrei è esattamente questo (ritardo di circa due secondi) ma non riferito all'apertura della finestra (come avevo erroneamente indicato nel titolo) bensì all'apertura dei link nella finestra (cartella).
Come dicevo all'inizio della discussione, selezionando un nominativo nell'elenco a discesa si apre un pop-up che non è altro che la cartella associata a quel nominativo. In questa cartella sono presenti uno o più link che puntano ad altrettanti protocolli associati a quel nominativo. Ecco, vorrei ritardare l'apertura di questi link. E' possibile?