window.open 在chrome和firefox中的工作方式不同

ejk8hzay  于 2023-03-06  发布在  Go
关注(0)|答案(1)|浏览(158)

我想打开一个新的标签页,如果它以前没有被打开过。如果它已经被同一个打开器打开过,则显示该标签页(置于最前面而不重新加载)。
我的代码:

const openWindow = window.open(undefined, 'WindowName');

if (openWindow.location.href === 'about:blank') {
    openWindow.location.href = newWindowUrl;
}

在Chrome中,这将打开一个新的标签页并设置url。再次调用相同的代码,将重新打开已经可用的窗口,而不重新加载。
在Firefox中,这将打开一个新的标签页并设置url。再次调用相同的代码,将什么也不做。
如何通过www.example.com重新打开可用窗口window.name?

cbjzeqam

cbjzeqam1#

FireFox的解决方案是:

const openWindow = window.open(undefined, 'WindowName');

if (openWindow.location.href === 'about:blank') {
    openWindow.location.href = newWindowUrl;
}

// ==> to open existing window in Firefox
openWindow.focus();

相关问题