web-dev-qa-db-fra.com

javascript window.location dans un nouvel onglet

Je détourne l'utilisateur vers une URL via window.location, mais cette URL s'ouvre dans le même onglet du navigateur. Je veux qu'il soit ouvert dans un nouvel onglet. Puis-je le faire avec window.location? Y a-t-il une autre façon de faire cette action?

105

Je ne pense pas qu'il y ait moyen de le faire, sauf si vous écrivez une extension de navigateur. Vous pouvez essayer d'utiliser window.open en espérant que leur navigateur est configuré pour ouvrir de nouvelles fenêtres dans de nouveaux onglets.

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

Le deuxième paramètre est ce qui le rend ouvert dans une nouvelle fenêtre. N'oubliez pas de lire article informatif de Jakob Nielsen :)

375
user1450789

Cela fonctionne pour moi sur Chrome 53. Je n'ai testé nulle part ailleurs:

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

avec jQuery c'est encore plus facile et fonctionne sur Chrome aussi

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

Plutôt que d’aller dans le pop-up, j’ai personnellement aimé cette solution, mentionnée dans le fil de cette question JavaScript: location.href à ouvrir dans une nouvelle fenêtre/onglet?

$(document).on('click','span.external-link',function(){
        var t               = $(this), 
            URL             = t.attr('data-href');        
        $('<a href="'+ URL +'" target="_blank">External Link</a>')[0].click();

    });

Travailler exemple .

2
OyeHarish