协慌网

登录 贡献 社区

使用 JavaScript 在新选项卡(而不是新窗口)中打开 URL

我正在尝试在新选项卡中打开URL ,而不是弹出窗口。我已经看到相关的问题,其中的回答看起来像:

window.open(url,'_blank');
window.open(url);

但是它们都没有为我工作,浏览器仍然试图打开一个弹出窗口。

答案

这是一招,

function openInNewTab(url) {
  var win = window.open(url, '_blank');
  win.focus();
}

在大多数情况下,这应该直接在链接的onclick处理程序中发生,以防止弹出窗口阻止程序和默认的 “新窗口” 行为。您可以这样做,或者通过向DOM对象添加事件侦听器。

<div onclick="openInNewTab('www.test.com');">Something To Click On</div>

http://www.tutsplanet.com/open-url-new-tab-using-javascript-196/

作者无法做的任何事情都可以选择在新选项卡中打开而不是在新窗口中打开。这是用户偏好

CSS3 提出了target-new ,但规范被放弃了

反之则不然; 通过在window.open的第三个参数中指定窗口的尺寸,可以在首选项用于选项卡时触发新窗口。

如果实际的 click 事件没有发生, window.open()将不会在新选项卡中打开。在给定的示例中,URL 正在实际的单击事件上打开。 如果用户在浏览器中有适当的设置,这将起作用

<a class="link">Link</a>
<script  type="text/javascript">
     $("a.link").on("click",function(){
         window.open('www.yourdomain.com','_blank');
     });
</script>

同样,如果您尝试在 click 函数中执行 Ajax 调用并希望在成功时打开一个窗口,请确保使用async : false选项设置进行 Ajax 调用。