如何在第一次加载时从弹出窗口返回对父窗口的关注


How to return focus on parent window from a pop window while loading first time

我正在一个网站上工作。当加载网站时,第一次用一个弹出窗口打开索引页。首先,我的问题是,我想在第一次加载时自动最小化这个弹出窗口,并在没有任何点击的情况下将焦点返回到网站。

这是我在索引页上的代码,我写了这个函数:

myFunction();
 function myFunction() {
   //var myWindow = window.open("music.php", "", "width=320,height=60");
   var myWindow = window.open("music.php", "", "directories=0,titlebar=0,toolbar=0,location=0,status=0,menubar=0,scrollbars=no,resizable=no,left=-100000000, top=100000, width=320, height=1, display=none","visibility=hidden");
    //myWindow.moveTo(0, 0);
}

并弹出具有页面扩展music.php的窗口,该窗口应自动最小化,并在不点击网站的情况下将焦点返回到索引页面。

我已经尝试过每次都将弹出窗口的焦点设置为网站,但也不起作用。

好吧,窗口对象也有一个opener属性。当我们打开浏览器时,该属性为null,当我们打开一个弹出窗口时,它指向弹出窗口打开的窗口。

我认为这样的东西就足够了。

myFunction();
 function myFunction() {
   var myWindow = window.open("music.php", "", "directories=0,titlebar=0,toolbar=0,location=0,status=0,menubar=0,scrollbars=no,resizable=no,left=-100000000, top=100000, width=320, height=1, display=none","visibility=hidden");
   myWindow.opener.focus()   // can also do window.focus()
}

JS的执行不应该停止,但如果停止了,你必须将焦点代码添加到你的子页面/弹出页面。(取决于不同的浏览器)

popupHTMLJS.js

focusParent();
function focusParent(){
    parent = window.opener;
    parent.focus()
}