【问题标题】:How to open a link in new browser window using react router ? (not new tab)如何使用反应路由器在新的浏览器窗口中打开链接? (不是新标签)
【发布时间】:2022-01-25 14:41:54
【问题描述】:
<Link to="invoices" target="_blank">Invoices</Link> 

这会打开一个新标签。对于新的浏览器窗口,我该怎么做?

【问题讨论】:

  • “打开一个新标签”与“打开一个新窗口”的操作相同。在大多数浏览器中,这是由浏览器控制并由用户配置的。
  • 您可以“右键单击”链接并从上下文窗口中选择“在新窗口中打开”。否则,这不能从 RRD Link 中配置。

标签: reactjs react-router new-window


【解决方案1】:

您可以在 onClick 中执行 window.open,这是文档https://developer.mozilla.org/en-US/docs/Web/API/Window/open

【讨论】:

  • window.open 没有帮助,它只是打开一个弹出窗口,我需要一个确切的新窗口(当我们在 chrome 上“右键单击”并选择“新窗口”时得到它) )。
【解决方案2】:

作为 hack(我的意思是真的),您可以在支持 shift 的浏览器中完成此操作 + 单击手势打开一个新窗口,方法是使用锚元素的onClick函数:

(event) => {
  event.preventDefault();
  event.target.dispatchEvent(new MouseEvent('click', {shiftKey: true}));
};

我仅针对 Chrome 桌面进行了测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-16
    • 2019-11-30
    • 2017-11-07
    • 2022-06-28
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多