Perché window.open () caricare l'URL nella stessa finestra?
-
01-10-2019 - |
Domanda
ho letto un libro su javascript e si dice che quando si crea una funzione per l'apertura di una nuova finestra, il riferimento al nuovo oggetto finestra viene memorizzato all'interno della variabile assegnata alla chiamata window.open(theURL , newWindow)
. Si dice anche che se la stessa variabile viene utilizzato per due o più URL, non importa quale URL clicco che sarebbe stato aperto nella stessa finestra. Tuttavia, se creo due variabili per due chiamate window.open()
, entrambi i siti si apriranno in diverse (nuove) finestre.
A causa di curiosità, ho cercato di usare due variabili diverse, ma ancora quando clicco entrambi i collegamenti sono ancora caricati nella stessa finestra. Come mai? Ho provato su Firefox, IE e Chrome senza alcun risultato.
Soluzione
Il libro è in parte corretto, ma quello che realmente serve è di due valori diversi, non proprio due variabili diverse. Se si dispone di due variabili con lo stesso valore, il risultato è lo stesso che utilizza la stessa variabile. E 'il valore che conta, non quello variabile che si utilizza per fornire il valore.
Il secondo parametro al metodo open
è il bersaglio. Se si utilizza un valore, come per esempio 'win42'
, che verrà utilizzato come nome per la finestra. Se si chiama di nuovo open
con lo stesso valore per l'obiettivo, si aprirà nella stessa finestra.
È possibile utilizzare la '_blank'
speciale valore come bersaglio per aprire sempre una nuova finestra.