Javascript window.location in neuer Registerkarte

123

Ich leite den Benutzer über eine URL zu einer URL um, window.locationaber diese URL wird im Browser auf derselben Registerkarte geöffnet. Ich möchte, dass es in einem neuen Tab geöffnet wird. Kann ich das mit window.location machen? Gibt es eine andere Möglichkeit, diese Aktion auszuführen?

Muhammad Imran Tariq
quelle
Ist window.locationeine Anforderung? Oder können andere JS-Lösungen angeboten werden?
Khez
@Khez: andere JS können angeboten werden.
Muhammad Imran Tariq

Antworten:

27

Ich glaube nicht, dass es eine Möglichkeit gibt, dies zu tun, es sei denn, Sie schreiben eine Browser-Erweiterung. Sie können versuchen, zu window.openhoffen, dass der Browser des Benutzers so eingestellt ist, dass neue Fenster in neuen Registerkarten geöffnet werden.

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

Der zweite Parameter macht es in einem neuen Fenster geöffnet. Vergiss nicht, den informativen Artikel von Jakob Nielsen zu lesen :)

Shane Reustle
quelle
10
Aber was ist, wenn Ihr Browser die Einstellungen im Popup blockiert hat? das wird nicht wok.
Pregmatch
@ Alex meh ... nicht wirklich die "richtige" Antwort. Wenn ich dies in Firefox versuche, wo ich Popup-Fenster verhindere, schlägt dieser Code fehl.
TARKUS
14

Dies funktioniert bei Chrome 53. Habe nirgendwo anders getestet:

function navigate(href, newTab) {
   var a = document.createElement('a');
   a.href = href;
   if (newTab) {
      a.setAttribute('target', '_blank');
   }
   a.click();
}
Rodrigo-Silveira
quelle
6

Mit jQuery ist es noch einfacher und funktioniert auch mit Chrome

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

Sie können sogar verwenden

window.open('https://support.wwf.org.uk', "_blank") || window.location.replace('https://support.wwf.org.uk');

Dadurch wird es auf derselben Registerkarte geöffnet, wenn das Popup blockiert ist.

Fanis Mahmalat
quelle
Erstaunliche ODER-Logik
Hammad Sajid
1
Danke dir! Das hat super geklappt.
thenomadicmann vor