如何以编程方式在新选项卡而不是新窗口中打开 URL?
问问题
703596 次
6 回答
495
使用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');
}
根据浏览器的实现,这将起作用
您无法做任何事情来使其在窗口而不是选项卡中打开。
于 2013-11-08T04:49:12.700 回答
198
就这么简单。
window.open('_link is here_', 'name');
功能说明:
name
是窗口的名称。支持以下名称:
_blank
- URL 被加载到新选项卡中。这是默认设置。_parent
- URL 被加载到父框架中_self
- URL 替换当前页面_top
- URL 替换任何可能加载的框架集
于 2013-11-08T05:50:03.757 回答
67
如果您打算在新选项卡上打开所有链接,请尝试使用此 jquery
$(document).on('click', 'a', function(e){
e.preventDefault();
var url = $(this).attr('href');
window.open(url, '_blank');
});
于 2015-05-06T03:48:01.787 回答
44
var url = "http://www.example.com";
window.open(url, '_blank');
于 2013-11-08T04:52:57.003 回答
27
您可以轻松创建新标签;执行以下操作:
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();
}
于 2014-05-03T09:46:47.590 回答
14
我知道您的问题没有说明您是尝试在新窗口中打开所有标签还是仅打开外部链接。
但是,如果您只想在新选项卡中打开外部链接,您可以这样做:
$( 'a[href^="http://"]' ).attr( 'target','_blank' )
$( 'a[href^="https://"]' ).attr( 'target','_blank' )
于 2015-03-27T22:44:00.930 回答