将弹出窗口置于最前面

Bring popup to front

本文关键字:于最 前面 窗口      更新时间:2023-09-26

在我的应用程序中,当我选择一些选项时,我会弹出一个包含信息的弹出窗口。

第一次一切正常时,弹出窗口会在所有内容前面突出显示。

但是,当它失去焦点时,当用户转到其他窗口时,如果用户再次单击同一选项,我希望弹出窗口再次出现在所有窗口的前面。

我试过类似的东西:

<body onLoad="this.focus()">
window.focus();   
document.focus();  
this.focus();  

但它对我不起作用。

我错过了什么?

您应该维护对您打开的弹出窗口的引用,并在其上调用焦点方法。

var win = window.open(url, name, args);
win.focus();

当打开一个弹出窗口时,如果你提供了一个名称,下次打开具有相同名称的弹出窗口时如果它没有关闭,它将使用相同的弹出窗口。你只需要集中注意力。

你可以使用这个简单的功能来处理弹出

function windowOpener(url, name, args) {
    if(typeof(popupWin) != "object" || popupWin.closed)  { 
        popupWin =  window.open(url, name, args); 
    } 
    else{ 
        popupWin.location.href = url; 
    }
    popupWin.focus(); 
 }