如何使用 JavaScript 或 jQuery 在新选项卡中打开 URL?

IT技术 javascript jquery asp.net-mvc
2021-01-21 21:25:15

如何以编程方式在新选项卡而不是新窗口中打开 URL?

6个回答

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

根据浏览器的实现,这将起作用

您无法在窗口而不是选项卡中打开它。

这是浏览器窗口的特殊名称,每次都会创建一个新窗口,或者您可以使用特定名称,如“login_screen”,如果窗口已经加载,它将使用您提供的 URL 重新加载内容
2021-03-15 21:25:15
写得很完美的代码。谢谢 :)
2021-03-22 21:25:15
_blank在这个调用什么
2021-03-23 21:25:15
window.open()会导致弹出警告,这是一种不需要的用户体验。而是在<a href="" target="_blank" id="click_me" ></a>某处引入隐藏并使用.click()For ex执行单击document.getElementById('click_me').click()
2021-04-11 21:25:15

这就是如此简单。

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

功能说明:

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

  • _blank- URL 加载到新选项卡中这是默认设置。
  • _parent - URL 加载到父框架中
  • _self - URL 替换当前页面
  • _top - URL 替换可能加载的任何框架集
为了安全起见,可以添加“noopener”和“noreferrer”窗口功能: window.open("url", "_blank", "noopener,noreferrer");
2021-03-21 21:25:15

如果您打算在新选项卡上打开所有链接,请尝试使用此 jquery

$(document).on('click', 'a', function(e){ 
    e.preventDefault(); 
    var url = $(this).attr('href'); 
    window.open(url, '_blank');
});
@Vicky 您的a元素由其他事件附加的吗?可能你需要改变.click.on('click'
2021-03-28 21:25:15
我正在尝试使用您的答案来实现相同的逻辑,但是当我尝试右键单击并在新选项卡中打开链接时,它没有。知道我该如何解决吗?
2021-04-01 21:25:15
 var url = "http://www.example.com";
 window.open(url, '_blank');

您可以轻松创建一个新选项卡;请执行以下操作:

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();
}
将您的实现修改为用户驱动(即单击链接)而不是自动执行(即在页面加载时)......然后赞美正确的弹出窗口阻止程序
2021-03-14 21:25:15
嗨,伙计……当我这样打开时,我就像 Firefox 阻止了这个网站打开弹出窗口……
2021-03-31 21:25:15