Salve,
mi serve per favore uno scritp che al carricamento della pagina del pop-up mi faccia il Refresh della pagina madre e mi chiuda la pop-up.
grazie !![]()
![]()
![]()
Salve,
mi serve per favore uno scritp che al carricamento della pagina del pop-up mi faccia il Refresh della pagina madre e mi chiuda la pop-up.
grazie !![]()
![]()
![]()
[Scambio Links a Tema] Contattatemi in Privato x + Info.
Niente di più semplice...se la pagina "madre" è quella da cui hai aperto la finestra popup, la pagina contenuta in questa finestra possiede la proprietà opener dell'oggetto window.
Ti consiglio di usare una funzione, dato che è di sole 2 righe e poi potresti eventualmente riutilizzarla. Inoltre, con una funzione mantieni "pulito" il codice HTML. La funzione potresti chiamarla Aggiorna() e devi richiamarla al caricamento della pagina nella finestra popup in questo modo:
Il codice della funzione è il seguente:codice:<body onload="Aggiorna();">
Una spiegazione rapida. Se vuoi che la pagina "madre" sia ricaricata sempre dal server e non dalla cache, basta che inserisci 1 tra le parentesi di reload(). Questo forza il caricamento dal server. Invece, l'istruzione di chiusura della finestra l'ho impostata non con un semplice window.close(), ma con un setTimeout() che ritarda la chiusura della finestra di mezzo secondo (500 sono i millisecondi). Questo perché (ne ho una grande esperienza, visto che ho perso la testa per 1 mese con un cliente che aveva lo stesso problema), potrebbe succedere che la finestra si chiuda "troppo velocemente". Se con quel cliente era un problema perché la pagina spediva dei dati a un database (e se si chiudeva prima di averli spediti tutti il browser si bloccava nel caricamento), per te è solo una misura precauzionale. Infatti ho impostato mezzo secondo di ritardo, che non è un tempo eccessivo (con quel cliente ho dovuto impostare ben 2 secondi di ritardo...).codice:function Aggiorna() { window.opener.location.reload(); setTimeout('window.close()',500); }
Ciao!
Ascolta, ma questo può funzionare anche per indirizzare la pagina madre su un altra pagina?
Ovvero: mi si apre una popup con un link. Premendo il link, il link si apre NON in una pagina nuova, NON nel popup, ma nella finestra madre.
Se si, come faccio?!
GRAZIE!
Certo. Cliccando sul link nella popup ti basta impostare la proprietà location della finestra madre in questo modo:
Dove PAGINA.htm è il file che deve caricarsi nella finestra madre.codice:Apri
Ottimissimo!!!
E...già che ci siamo...il mio popup si deve chiudere...
?!?codice:onclick=close()
GRAZIEEEEEE!!!
Conviene "separare" JavaScript dall'HTML a questo punto, per comodità, utilizzando una funzione:
Al solito, uso setTimeout() per "ritardare" la chiusura della popup di mezzo secondo, in modo che abbia il tempo di mandare l'istruzione per modificare la location alla pagina madre.codice:Apri Codice della funzione JavaScript: function cambiapagina() { window.opener.location = "PAGINA.htm"; setTimeout("window.close()",500); }
Solo una cosa: i metodi open() e close() devono sempre essere indicati per l'oggetto a cui si riferiscono, dato che sono metodi sia dell'oggetto window che dell'oggetto document. Scrivendo solo close(), JavaScript può "pensare" che sia riferito all'oggetto document e non a window. Ovviamente, document.close() non chiude la finestra, ma "scarica" il documento visualizzato e lo sostituisce con...niente!
PS: tra l'altro, document.close() è deprecato.