window.focus() in javascript



我有一个最新版本的chrome窗口(父窗口(。当我单击父窗口上的按钮时,应该会打开一个新的第二个 chrome 窗口(子窗口(,它应该在前面。当我第二次单击相同的按钮(在父窗口中(时,已经打开的子窗口应该在前面(焦点应该在子窗口中设置(。

问题: 当我第一次单击该按钮时,我正在使用"window.open(uri(">打开一个新的chrome子窗口,并且它聚焦在前面。 第二次单击该按钮时,我使用相同的"window.open(uri(">将已经打开的chrome窗口放在前面,但这不起作用。要在子窗口上执行的操作正确发生,填充的数据正确,但窗口未显示在前面。

我尝试在按钮的onclick((事件中使用window.focus((,window.blur((,但它们是没有希望的。

如果我能得到一些答案,请不胜感激。

这应该可以完成这项工作,此外,您可以将事件侦听器添加到子窗口,以检测用户何时关闭子窗口,然后将null分配给childWindow变量。

<body>
<button>
Open window
</button>
<script>
let childWindow = null;
const button = document.querySelector("button");

button.addEventListener("click", () => {
if (childWindow) {
childWindow.focus();
return;
}
childWindow = window.open(
"https://www.mozilla.org/",
"mozillaWindow",
"popup, width=400, height=400"
);
});
</script>
</body>

尝试使用这个

window.open(
"http://google.co.za", null,
"toolbar=yes,titlebar=yes,status=yes,menubar=yes,fullscreen=yes,centerscreen=yes"
);

当您单击按钮时,它将打开窗口,如果您再次单击该按钮,它将使窗口位于前面。

最新更新