当用户在单独的 chrome window 上时,有没有办法关闭 chrome 扩展弹出窗口?
Is there a way to close a chrome extension popup, when the user is on a separate chrome window?
我试图开始工作的场景是:
如果用户在 Chrome Window 1 打开扩展弹出窗口,并且没有关闭弹出窗口,用户打开另一个 Chrome Window ( Window 2) 并开始使用它,我希望 Window 1 上的弹出窗口关闭。
基本上,只有活跃的 Chrome Window 才能打开扩展弹出窗口。
嗯。我不知道弹出窗口是这样工作的!
但是,是的,这是可能的。您可以使用 chrome.extension.getViews()
function 访问所有弹出窗口并关闭其他弹出窗口。
因此,在弹出代码的开头,执行以下代码:
chrome.extension.getViews({type: "popup"}).forEach(function(win) {
if(win != window) win.close();
});
这是一个非常古老的 API(你可以看出来,因为它是同步的)但仍然有效。
我试图开始工作的场景是:
如果用户在 Chrome Window 1 打开扩展弹出窗口,并且没有关闭弹出窗口,用户打开另一个 Chrome Window ( Window 2) 并开始使用它,我希望 Window 1 上的弹出窗口关闭。
基本上,只有活跃的 Chrome Window 才能打开扩展弹出窗口。
嗯。我不知道弹出窗口是这样工作的!
但是,是的,这是可能的。您可以使用 chrome.extension.getViews()
function 访问所有弹出窗口并关闭其他弹出窗口。
因此,在弹出代码的开头,执行以下代码:
chrome.extension.getViews({type: "popup"}).forEach(function(win) {
if(win != window) win.close();
});
这是一个非常古老的 API(你可以看出来,因为它是同步的)但仍然有效。