it-swarm.com.de

Wie öffne ich eine URL in einem neuen Tab mit JavaScript oder jQuery?

Wie öffnet man programmgesteuert eine URL in einem neuen Tab anstelle eines neuen Fensters?

244
Midhuna

Benutze window.open():

var win = window.open('http://stackoverflow.com/', '_blank');
if (win) {
    //Browser has allowed it to be opened
    win.focus();
} else {
    //Browser has blocked it
    alert('Please allow popups for this website');
}

Abhängig von der Implementierung des Browsers funktioniert dies

Sie können nichts tun, um es in einem Fenster anstatt in einem Tab zu öffnen.

401
FabianCook

Das ist so einfach.

window.open('_link is here_', 'name'); 

Bedienungsanleitung:

name ist ein Name des Fensters. Folgende Namen werden unterstützt:

  • _blank - URL wird in eine neue Registerkarte geladen. Dies ist die Standardeinstellung.
  • _parent - Die URL wird in den übergeordneten Frame geladen
  • _self - URL ersetzt die aktuelle Seite
  • _top - Die URL ersetzt alle geladenen Framesets
147
JaiSat

wenn Sie alle Links auf einer neuen Registerkarte öffnen möchten, versuchen Sie, diese Abfrage zu verwenden

$(document).on('click', 'a', function(e){ 
    e.preventDefault(); 
    var url = $(this).attr('href'); 
    window.open(url, '_blank');
});
57
Lafif Astahdziq
 var url = "http://www.example.com";
 window.open(url, '_blank');
36
codebreaker

Sie können ganz einfach eine neue Registerkarte erstellen. mache wie folgt:

function newTab() {
     var form = document.createElement("form");
     form.method = "GET";
     form.action = "http://www.example.com";
     form.target = "_blank";
     document.body.appendChild(form);
     form.submit();
}
26
Koffy

Ich weiß, Ihre Frage gibt nicht an, ob Sie versuchen, alle Tags in einem neuen Fenster oder nur die externen Links zu öffnen.

Wenn Sie jedoch nur externe Links in einem neuen Tab öffnen möchten, können Sie dies tun:

$( 'a[href^="http://"]' ).attr( 'target','_blank' )
$( 'a[href^="https://"]' ).attr( 'target','_blank' )
12