IE8将弹出浏览器窗口移动到后台

时间:2014-06-10 12:05:31

标签: javascript html internet-explorer-8

我需要打开弹出对话框,然后将焦点设置在父窗口的元素上。但是一旦设置了焦点(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>

此问题是否有解决方法?

1 个答案:

答案 0 :(得分:1)

此行为似乎是“按设计”。毕竟,您将焦点设置到弹出窗口之外的元素,因此弹出窗口移动到背景是有意义的。