Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di myotis
    Registrato dal
    May 2010
    Messaggi
    33

    Aiuto con pulsanti per chiudere finestre

    Salve a tutti, ho dei problemi nella creazione di pulsanti per la chiusura di finestre.
    Mi spiego meglio...

    Ho quattro pulsanti collegati ad una funzione ciascuno.
    I primi due pulsanti aprono due nuove finestre, gli ultimi due dovrebbero chiudere le suddette.

    codice:
    <html>
    	
    <head>	
    	
    	<script type="text/javascript" language="JavaScript">
    	
    
    	function openNewYahooWindow()
    	{
    	var myYahooWindow = window.open("http://www.yahoo.com","newYahooWindow");
    	}
    	
    	
    	function openNewGmailWindow()
    	{
    	var myGmailWindow = window.open("http://www.gmail.com","newGmailWindow");
    	}
    	
    	
    	function closeNewYahooWindow()
    	{
    	myYahooWindow.close();
    	}
    	
    	
    	function closeNewGmailWindow()
    	{
    	myGmailWindow.close();
    	}
    		
    	</script>
    
    </head>
    		
    <body>
    
    <input type="button" value="Open a new Yahoo window" onclick="openNewYahooWindow()" />
    
    
    <input type="button" value="Open a new Gmail window" onclick="openNewGmailWindow()" />
    
    
    <input type="button" value="Close the new Yahoo window" onclick="closeNewYahooWindow()" />
    
    
    <input type="button" value="Close the new Gmail window" onclick="closeNewGmailWindow()" />
    
    <body>
    </html>
    Con i primi due non ho problemi mentre gli ultimi due non funzionano e ho capito perchè.
    Avendo dichiarato le due variabili che fanno riferimento alle finestre appena aperte (myYahooWindow e myGmailWindow) all'interno delle funzioni esse sono accessibili solo all'interno delle funzioni stesse e quindi non posso fare un riferimento a loro nelle funzioni che invece chiudono le finestre.
    Non riesco a utilizzare "return" per portare la variabile fuori dalla funzione, e anche se ci riuscissi non so cosa otterrei dato che non si tratta
    nè di un valore numerico nè di una stringa di testo, bensì di un oggetto di tipo Window.

    C'è un modo per ovviare a ciò, magari accedendo all'oggetto delle finestre in questione in un altro modo e chiuderle tramite window.close()?

    Grazie per l'aiuto.
    "Better to live as king of beasts
    Than as a lamb scared and weak"

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    dichiara le due variabili come globali...

    codice:
    <script type="text/javascript" language="JavaScript">
    	
    var myYahooWindow;
    var myGmailWindow;
    
    	function openNewYahooWindow()
    	{
    	  myYahooWindow = window.open("http://www.yahoo.com","newYahooWindow");
    	}
    	
    	
    	function openNewGmailWindow()
    	{
    	  myGmailWindow = window.open("http://www.gmail.com","newGmailWindow");
    	}
    	
    	
    	function closeNewYahooWindow()
    	{
    	  myYahooWindow.close();
    	}
    	
    	
    	function closeNewGmailWindow()
    	{
    	  myGmailWindow.close();
    	}
    		
    	</script>

  3. #3
    Utente di HTML.it L'avatar di myotis
    Registrato dal
    May 2010
    Messaggi
    33
    Originariamente inviato da Vindav
    dichiara le due variabili come globali...
    Hai ragione, la soluzione era talmente semplice che non ci avevo pensato, quasi mi vergogno...
    Grazie mille per l'aiuto.
    "Better to live as king of beasts
    Than as a lamb scared and weak"

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 © 2025 vBulletin Solutions, Inc. All rights reserved.