Chiusura automatica di una finestra

Discussioni legate a XHTML, CSS, Javascript

Moderatore: spacemarc

Rispondi
nino1
Membro junior
Messaggi: 18
Iscritto il: 23 ago 2009, 11:32

Chiusura automatica di una finestra

Messaggio da nino1 » 23 ago 2009, 11:49

Salve a tutti.
Non sono esperto in javascript, quindi chiedo il vostro aiuto per cercare di risolvere qualche problema...
Per esempio, sto realizzando un sito in cui una pagina html apre automaticamente una piccola finestra (non una pop-up). Successivamente questa piccola finestra apre un'altra finestra a tutto schermo, sempre in modo automatico.

Dopo l'apertura della seconda finestra, vorrei che la piccola finestra (la prima) avendo ormai esaurito il suo compito, si chiuda automaticamente.
Ho provato con window.opener.close(); nella seconda finestra, ma non funziona. Ho provato a mettere nella prima finestra un self.close() abbinato ad un timer (setTimeout), ma niente da fare, la prima finestra non si chiude :dho: ...
Chi puo' darmi una mano?
Grazie :mmm:

Avatar utente
spacemarc
Amministratore
Messaggi: 1076
Iscritto il: 22 giu 2002, 15:16
Località: Italia
Contatta:

Re: Chiusura automatica di una finestra

Messaggio da spacemarc » 24 ago 2009, 13:24

usa

Codice: Seleziona tutto

<script>setTimeout('window.close()', 4500)</script>
che funziona bene (4500=4.5 secondi)
spacemarc.it

nino1
Membro junior
Messaggi: 18
Iscritto il: 23 ago 2009, 11:32

Re: Chiusura automatica di una finestra

Messaggio da nino1 » 26 ago 2009, 19:07

Ciao Spacemarc, grazie per il codice.
Volevo chiederti se funziona sui principali browser, perche' in questo momento io sto usando Firefox (notebook con s.o. Linux) e la finestra non si chiude....Ho messo il codice cosi' come l'hai scritto poco prima del tag </head> della pagina che si dovrebbe chiudere (la prima finestra), ma dopo aver richiamato la seconda finestra, che si e' aperta regolarmente a tutto schermo, la prima finestra e' rimasta li' :mmm:

Questo e' il codice della pagina che apre la prima finestra:

Codice: Seleziona tutto

<html><head>	<title>.....</title>
<SCRIPT  LANGUAGE="JavaScript"><!--   ;
function esempio(str) {
toolbars="no";windowbars="no";searchWin = window.open(str,'esempio','scrollbars=no,resizable=no,width=15,height=15,top=10000,left=0,menubar=no,personalbar=no,status=no,location=no,toolbar=no');
searchWin.creator=self;windowprop=0;}
 // end hide --></SCRIPT>
    </head>
<NOSCRIPT>This website use Javascript tags. Your browser is no right! Enable Javascript in your browser in order to continue.</NOSCRIPT><NOFRAMES> This website use frames. Your browser do not support frames, please download another browser that support frames in order to enter in this site.</NOFRAMES><body bgcolor="White" text="Black" link="Blue" vlink="Blue" alink="Red">
<SCRIPT  LANGUAGE="JavaScript"><!--   ;
nPage="page2.html";
// end hide --></SCRIPT>
<SCRIPT  LANGUAGE="JavaScript"><!--   ;
{esempio(nPage)};
// end hide --></SCRIPT>

</body>
</html> 
E questo e' il codice della finestra (che si dovrebbe chiudere automaticamente) che richiama la seconda finestra a tutto schermo:

Codice: Seleziona tutto

<head>
<SCRIPT  LANGUAGE="JavaScript"><!--   ;
function esempio(str) {
toolbars="no";windowbars="no";searchWin = window.open(str,'esempio','scrollbars=yes,resizable=no,width='+screen.width+',height='+screen.height+',top=0,left=0,menubar=no,personalbar=no,status=no,location=no,toolbar=no');
searchWin.creator=self;windowprop=0;}

 // end hide --></SCRIPT>

<script>setTimeout('window.close()',4500)</script>
</HEAD>

<SCRIPT LANGUAGE="JavaScript1.2"><!-- ;
if (window.Event) 
  document.captureEvents(Event.MOUSEUP); 
function nocontextmenu() 
{
	event.cancelBubble = true
	event.returnValue = false;
	return false;
}
function norightclick(e)	
{
	if (window.Event)	
	{
		if (e.which == 2 || e.which == 3)
			return false;
	}
	else
		if (event.button == 2 || event.button == 3)
		{
			event.cancelBubble = true
			event.returnValue = false;
			return false;
		}
	}
document.oncontextmenu = nocontextmenu;		
document.onmousedown = norightclick;		
// end hide --></SCRIPT>
<body>
 <script language="JavaScript"><!--   ;
{esempio('page3.html')};
// end hide --></script>

</BODY>
</HTML>
Cos'e' che non funzia?
Ciao.

Avatar utente
spacemarc
Amministratore
Messaggi: 1076
Iscritto il: 22 giu 2002, 15:16
Località: Italia
Contatta:

Re: Chiusura automatica di una finestra

Messaggio da spacemarc » 27 ago 2009, 15:51

funziona, prova il codice che ho modificato (ricorda di abilitare le popup dal tuo browser)

pagina.html (apre la prima popup)

Codice: Seleziona tutto

<html>
<head>  
<title>Prima pagina</title>
<script language="javascript" type="text/javascript">
function winopen(){
var win = window.open('1.htm','Finestra','width=800,height=600, toolbar=yes, location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes');
}
</script>
</head>
<body onload="winopen()">
pagina che apre la prima popup
</body>
</html>
1.htm che apre la seconda popup fullscreen

Codice: Seleziona tutto

<html>
<head>
<title>Prima popup</title>
<script language="javascript" type="text/javascript">
    function esempio(str) {
    searchWin = window.open(str,'esempio','scrollbars=yes,resizable=no,width='+screen.width+',height='+screen.height+',top=0,left=0,menubar=no,personalbar=no,status=no,location=no,toolbar=no');
    searchWin.creator=self;
    windowprop=0;
}
</script>
</head>
<body>
<script language="javascript" type="text/javascript">
{ esempio('2.htm') };
</script>
prima popup aperta
<script language="javascript" type="text/javascript">setTimeout('window.close()', 2500)</script>
</body>
</html>
2.htm popup fullscreen

Codice: Seleziona tutto

<html>
<head>  
<title>Seconda popup</title>
</head>
<body>
seconda popup fullscreen aperta
</body>
</html>
spacemarc.it

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite