如何在不更改当前 URL 的情况下打开新窗口?

Posted

技术标签:

【中文标题】如何在不更改当前 URL 的情况下打开新窗口?【英文标题】:How to open new window with out changing current URL? 【发布时间】:2021-08-22 13:10:00 【问题描述】:

我正在尝试从 jquery 打开一个新窗口,但问题是它会更改当前窗口 url 和目标 url。我只需要更改目标网址。我做错了什么?

var number = $('#number').text().substring(1, $('#number').text().length);

history.pushState(null, null, '/somepage/' + number + '/details');

window.open(
    window.location.href,
    '_blank'
);

是否可以只更改目标 url,但当前 url 保持不变?

【问题讨论】:

我正在尝试从 jquery 打开一个新窗口 不是。您只需使用 jquery 生成一个字符串。 如果您不想更改当前网址,为什么要使用 pushState()?请更详细地说明您需要在两个窗口方面完成的工作。见How to Ask charlietfl,我尝试用新的 url 打开新窗口,当前保持不变。我不知道。 然后不要使用 pushState() 而是创建新的 url 作为字符串传递给window.open(newUrlString) 【参考方案1】:

history.pushState 更改当前窗口的 URL。然后,您将在同一位置打开一个新窗口。

您想跳过 pushState 并将 URL 直接传递给 window.open

var number = $('#number').text().substring(1, $('#number').text().length);

window.open(
    '/somepage/' + number + '/details',
    '_blank'
);

【讨论】:

以上是关于如何在不更改当前 URL 的情况下打开新窗口?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不更改 javascript 中的 URL 的情况下重新加载当前页面一次?

如何在不打开新命令行窗口的情况下使用“schtasks”执行计划任务?

如何在不重新加载页面的情况下更改 URL?

如何在不关闭当前模式的情况下打开新模式

如何在不知道当前/主视图是啥的情况下从后台线程打开新视图?

在不使用路由器的情况下单击 React.js 中的按钮时如何打开新页面?