如何在新窗口中打开链接?

IT技术 javascript jquery
2021-03-20 12:59:48

我有一个特定链接的点击处理程序,在里面我想做类似于以下的事情:

window.location = url

我需要这个才能在新窗口中实际打开 url,我该怎么做?

6个回答

你可以喜欢:

window.open('url', 'window name', 'window settings')

jQuery:

$('a#link_id').click(function(){
  window.open('url', 'window name', 'window settings');
  return false;
});

你也可以设置target_blank实际。

window.open(url) 很好:)
2021-04-21 12:59:48
但是这个 jquery 代码不会自动导航到目标
2021-04-29 12:59:48
不确定会有所帮助,也不是完全相同的问题,但我正在寻找相同的解决方案来下载文件(不是从链接而是从按钮),在 Chrome 上,窗口没有打开也没有下载,直到我简单地更改为 window.location = 'url' 不改变位置但下载文件...
2021-05-01 12:59:48
_blank 是默认目标,所以使用 window.open(url) 就足够了
2021-05-05 12:59:48

以下是在点击处理程序中强制目标的方法:

$('a#link_id').click(function() {
    $(this).attr('target', '_blank');
});
无需在单击处理程序中使用 jQuery 选择器,因此$(this).attr('target', '_blank'); 可以将更改为this.target = "_blank";另外,如果页面上的锚链接可以修改为具有rel="external"属性,那么您可以使用 jQuery 选择器为页面创建全局单击处理程序,a[rel="external"]而不是使用选择每个链接的点击处理程序a#link_id
2021-05-18 12:59:48
w3schools 很好(忽略“少数”w3c 巨魔)...将继续成为权威来源...即使 w3c 现在也再次支持它 ;-)
2021-05-05 12:59:48
oop!不要使用或链接到 w3schools,它与 W3C 无关。改用 MDN:developer.mozilla.org/en-US/docs/Web/API/Window.open
2021-05-14 12:59:48

您也可以为此使用 jquery prop() 方法。

$(function(){
  $('yourselector').prop('target', '_blank');
}); 

我刚刚找到了一个有趣的解决方案。我正在创建包含基于 Web 服务返回信息的跨度。我想尝试在跨度周围放置一个链接,这样如果我点击它,“a”就会捕获点击。

但是我试图用跨度捕捉点击......所以我想为什么在我创建跨度时不这样做。

var span = $('<span id="something" data-href="'+url+'" />');

然后我将一个点击处理程序绑定到基于“data-href”属性创建链接的跨度:

span.click(function(e) {
    e.stopPropagation();
    var href = $(this).attr('data-href');
    var link = $('<a href="http://' + href + '" />');
    link.attr('target', '_blank');
    window.open(link.attr('href'));
});

这成功地允许我点击一个跨度并打开一个带有正确 url 的新窗口。