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


当前回答

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

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

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

其他回答

使用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');
}

这取决于浏览器的实现

没有什么可以做,使它打开在一个窗口,而不是一个标签。

这很简单。

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

功能描述:

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

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

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

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

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

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

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