2011-09-26 10 views
70

Sto trasferendo l'utente a qualche URL tramite window.location ma questo URL si apre nella stessa scheda nel browser. Voglio che sia aperto in una nuova scheda. Posso farlo con window.location? C'è un altro modo per fare questa azione?javascript window.location nella nuova scheda

+2

Duplicato: http://stackoverflow.com/questions/427479/programmaticamente-open-new-pages-on-tabs – Samich

+0

'window.location' è un requisito? Oppure possono essere offerte altre soluzioni JS? – Khez

+0

@Khez: può essere offerto un altro JS. –

risposta

13

Non credo che ci sia un modo per farlo, a meno che non si stia scrivendo un'estensione per il browser. Potresti provare a utilizzare window.open e sperare che l'utente abbia il proprio browser impostato per aprire nuove finestre in nuove schede.

+1

Non sono sicuro che funzioni in Safari:/ –

+8

Risposta non aggiornata, vedere la risposta utente1450789 di seguito. – Paul

248
window.open('https://support.wwf.org.uk', '_blank'); 

Il secondo parametro è ciò che lo rende aperto in una nuova finestra. Non dimenticate di leggere Jakob Nielsen's informative article :)

+4

Questo dovrebbe essere contrassegnato come la risposta giusta !! –

+1

Sono d'accordo! Contrassegnalo come risposta giusta! –

+1

Hai ragione fratello! – 0bj3ct

4

Questo funziona per me su Chrome 53. Non ho ancora testato altrove:

function navigate(href, newTab) { 
    var a = document.createElement('a'); 
    a.href = href; 
    if (newTab) { 
     a.setAttribute('target', '_blank'); 
    } 
    a.click(); 
} 
1

con jQuery la sua ancora più facile e funziona su Chrome così

$('#your-button').on('click', function(){ 
     $('<a href="https://www.some-page.com" target="blank"></a>')[0].click();  
}) 
Problemi correlati