IE8将弹出式浏览器窗口移至后台

IE8 moves popup browser window to background

本文关键字:后台 窗口 浏览器 弹出式 IE8      更新时间:2023-09-26

我需要打开弹出对话框,然后将焦点设置在父窗口的元素上。但是一旦设置好焦点(5秒后),弹出对话框就会移到后台(这种行为只适用于IE8)。

下面是演示这种行为的代码: 父页面:

<h:head>
    <h:outputScript name="jquery.js"/>
    <script type="text/javascript">
        var showPopup = function () {
            window.open("http://localhost:8880/pages/reader.xhtml", "Popup");
        };
        var setupFocus = function () {
            setTimeout(function () {
                $('#mainFrm'':nameInp').focus();
            }, 5000);
        };
    </script>
</h:head>
<h:body>
    <h:form id="mainFrm">
        <h:inputText id="nameInp"/>
        <h:commandButton type="button" onclick="showPopup(); setupFocus()" value="Show Popup"/>
    </h:form>
</h:body>

弹出对话框页面(为空):

<h:head>
</h:head>
<h:body>
</h:body>

有解决这个问题的方法吗?

这种行为似乎是"设计的"。毕竟,您正在将焦点设置为弹出窗口之外的元素,因此将弹出窗口移到背景中是有意义的。