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

新手上路,请多包涵

我正在尝试在新选项卡中打开 URL ,而不是弹出窗口。

我已经看到相关的问题,其中的响应看起来像:

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

但是它们都不适合我,浏览器仍然试图打开一个弹出窗口。

原文由 Mark 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 784
2 个回答

作者无法选择在新选项卡而不是新窗口中打开;这是一个 _用户偏好_。 (请注意,大多数浏览器中的默认用户首选项是针对新选项卡的,因此在未更改该首选项的浏览器上进行的简单测试不会证明这一点。)

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

反过来 是不正确的;通过在 window.open() 的第三个参数中为窗口指定某些窗口功能,您可以在偏好选项卡时触发一个新窗口。

原文由 Quentin 发布,翻译遵循 CC BY-SA 4.0 许可协议

这是一个技巧,

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

// Or just
window.open(url, '_blank').focus();

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

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

参考: 使用 JavaScript 在新选项卡中打开 URL

原文由 Rinto George 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题