如何打开一个URL在新标签而不是新窗口编程?


当前回答

这很简单。

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

功能描述:

Name是窗口的名称。支持以下名称:

_blank - URL被加载到一个新的选项卡。这是默认值。 _parent - URL被加载到父帧 _self - URL替换当前页面 _top - URL替换任何可能加载的框架集

其他回答

你可以很容易地创建一个新标签;像下面这样做:

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();
}
 var url = "http://www.example.com";
 window.open(url, '_blank');

这很简单。

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

功能描述:

Name是窗口的名称。支持以下名称:

_blank - URL被加载到一个新的选项卡。这是默认值。 _parent - URL被加载到父帧 _self - URL替换当前页面 _top - URL替换任何可能加载的框架集

如果你想打开新标签上的所有链接,尝试使用jquery

$(document).on('click', 'a', function(e){ 
    e.preventDefault(); 
    var url = $(this).attr('href'); 
    window.open(url, '_blank');
});

我知道你的问题没有指定如果你试图打开所有的标签在一个新的窗口或只有外部链接。

但如果你只想在一个新标签中打开外部链接,你可以这样做:

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