Premetto che non sono esperto di JavaScript.
Da una pagina faccio aprire una popup, vorrei che quando si clicca sulla pagina madre o questa ritorna in primo piano la popup si deve chiudere. Come potrei fare?
![]()
![]()
Premetto che non sono esperto di JavaScript.
Da una pagina faccio aprire una popup, vorrei che quando si clicca sulla pagina madre o questa ritorna in primo piano la popup si deve chiudere. Come potrei fare?
![]()
![]()
ti va bene se si chiude quando perde il focus?
se sì puoi mettere all'onblur del body un bel self.close()
codice:<body onblur="self.close();">
Però nella mia popup c'è una dropDownList e quando clicco sopra la popup si chiude, non esiste un modo per evitare questo? Io vorrei che si chiudesse solo quando porto in primo piano la finestra madre
Si potrebbe chiudere il popup quando nella pagina madre si verifica l'evento Onfocus, però come posso chiudere la popup dalla pagina madre?
allora devi fare tutto dalla pagina madre.
Ti faccio un esempio
codice:<HTML> <HEAD> <script language="javascript"> var pp=null; function ApriPop(pagina,nome,features){ pp=window.open(pagina,nome,features); pp.focus(); } function ChiudiPop(){ if(pp && !pp.closed)pp.close(); } </script> </HEAD> <BODY onfocus="ChiudiPop();"> apri </BODY> </HTML>![]()
Non mi funziona!
Non succede niente. Se ti può essere di aiuto devo inserirlo in una pagina aspx.
Ancora una cosa, mi potresti spiegare cosa controlla questa riga?
Grazie
if(pp && !pp.closed)pp.close();
cosa vuol dire non funziona? Non si apre la popup? si apre ma non si chiude quando la madre prende il focus?
questa riga
controlla se la popup è stata aperta e che non sia stata chiusa, in tal caso la chiude.codice:if(pp && !pp.closed)pp.close();
incolla qua il codice che hai scritto tu oppure metti un link a qualcosa di on-line
Non si apre e non si chiude
codice:<script language="javascript"> var pp=null; function ApriPop(pagina){ pp=window.open(pagina); pp.focus(); } function ChiudiPop(){ if(pp&&!pp.closed)pp.close(); } </script> . . . <body onfocus="ChiudiPop();"> . . . <asp:Button OnClick="ApriPop('pagina.aspx');">
non sono tanto pratico di .net (anzi proprio pe' gnente)
dovresti postare qua l'html generato (prendilo dal browser)
Sono riuscito a farlo funzionare!!
l'errore dipendeva ad asp.net, ho sostituito il controllo della web form con un controllo HTML.
Grazie mille!!!!!!!
![]()
![]()