2013-02-05 18 views
5

Ho una finestra pop-up che sto aprendo usando sotto lo script. Ad ogni clic, voglio aprire un nuovo pop-up. Capisco, avere un nome univoco per la finestra risolverà il problema (in questo caso "SampleWindow"). Qual è il modo migliore per mantenere l'unicità della finestra? C'è un altro modo per gestire i popup di javascript?nuova finestra popup ad ogni clic

window.open(url, 'SampleWindow', 'WIDTH=300,HEIGHT=250'); 
+1

entrambi dei sottostanti 3 risposte avrebbe funzionato. È una preferenza. –

risposta

6

Passare un valore _blank al parametro name caricherà il passato URL in una nuova finestra. Come questo:

window.open(url, '_blank', 'width=300,height=250'); 

Altre opzioni per name parametro (opzionale ) comprendono:

  • _blank - URL viene caricato in una nuova finestra. Questa è l'impostazione predefinita
  • _parent - URL viene caricato nel frame principale
  • _self - URL sostituisce la pagina corrente
  • _top - URL sostituisce qualsiasi set di cornici che possono essere caricati
  • name-Il nome della finestra

Do atto che se sarete passare questo JavaScript per un tag di ancoraggio A che i browser IE si aspettano un valore di ritorno, altrimenti sarà referrence il tag A sé .Il codice per che sarebbe simile:

<a href="javascript:var w=window.open(url, '_blank', 'width=300,height=250');">test</a> 

o superiore (per evitare di mostrare agli utenti il ​​codice nella barra di stato):

<a href="javascript:void(0);" onclick="window.open(url, '_blank', 'width=300,height=250');">test</a> 

Links:

1

È possibile aggiungere timestamp al nome della finestra per creare nomi delle finestre davvero unici e assegnare che alla variabile. come ...

var myWindow = window.open(url, 'SampleWindow'+new Date().getTime(), 'WIDTH=300,HEIGHT=250');

Dal momento che si desidera più di Windows, allora sarà meglio per la gestione delle finestre attraverso array.

 
var myWindow = []; 
myWindow.push(window.open(url, 'SampleWindow'+new Date().getTime(), 'WIDTH=300,HEIGHT=250')); 

Queste finestre possono essere gestiti da myWindow[index] come myWindow[2].close();.

2

Si potrebbe semplicemente cambiare il nome ogni volta

var i = 0; 
window.open(url, 'SampleWindow' + i, 'WIDTH=300,HEIGHT=250'); 
i++; 
Problemi correlati