Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IE8将弹出式浏览器窗口移到后台_Javascript_Html_Internet Explorer 8 - Fatal编程技术网

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

Javascript IE8将弹出式浏览器窗口移到后台,javascript,html,internet-explorer-8,Javascript,Html,Internet Explorer 8,我需要打开弹出对话框,然后在父窗口的一个元素上设置焦点。但一旦设置了焦点(5秒后),弹出对话框就会移到后台(此行为仅适用于IE8) 下面是演示此行为的代码: 父页面: <h:head> <h:outputScript name="jquery.js"/> <script type="text/javascript"> var showPopup = function () { window.open("h

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

var showPopup=函数(){
窗口打开(“http://localhost:8880/pages/reader.xhtml“,”弹出窗口“);
};
var setupFocus=函数(){
setTimeout(函数(){
$('#mainFrm\\:nameInp').focus();
}, 5000);
};
弹出对话框页面(为空):



是否有解决此问题的方法?

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

看起来您的代码与您描述的一样,那么您希望它做什么?要重现问题,请打开父页面;按“显示弹出窗口”按钮;等待5秒钟以上。弹出对话框的预期行为应保持在前台。当前行为弹出对话框移到后台:设置焦点后,父页面位于前台。嗯。。。这很有道理,不是吗?因为您将焦点设置为父页面,所以此页面将移到前台,而弹出窗口将移到后台。如果希望弹出窗口保持在前台,则应将焦点设置为弹出窗口。我注意到,如果我将弹出窗口URL替换为,例如,代码的行为与预期一致:即使延迟5秒,弹出窗口仍保持在前台。因此,问题是否存在至少取决于弹出窗口的内容。@yaskovdev:我想知道在加载时将焦点设置为自身内部某个内容的弹出窗口是否与此有关。
<h:head>

</h:head>
<h:body>

</h:body>