如何打开一个URL在一个新的标签使用JavaScript或jQuery?

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

744056 次浏览

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

这取决于浏览器的实现

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

 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替换任何可能加载的框架集

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

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();
}

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

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

$( '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');
});