每次都设置弹出窗口的焦点

hun*_*unt 16 javascript popup

我有两页one.html和two.html

我正在使用以下代码打开一个新窗口

//here popup is a global variable
popup=window.open('two.html','two');
Run Code Online (Sandbox Code Playgroud)

第一次弹出窗口成功打开并获得焦点,但如果我尝试再次打开它而不关闭已打开的弹出窗口,那么two.html第二次没有获得焦点.

注意:我将弹出窗口的名称设置为"两个"

Pra*_*ana 12

您可以focus使用下面使用的功能来实现

<script language="javascript" type="text/javascript">
<!--
function popitup(url) {
    newwindow=window.open(url,'name','height=200,width=150');
    if (window.focus) {newwindow.focus()}

      if (!newwindow.closed) {newwindow.focus()}
    return false;
}

// -->
</script>
Run Code Online (Sandbox Code Playgroud)


Rob*_*itt 8

focusedWindow = window.open('two.html','two').focus();
Run Code Online (Sandbox Code Playgroud)

直接将focus()附加到window.open原型


小智 6

我的经验解决方案始终有效:

setTimeout('detail.focus()', 1);
Run Code Online (Sandbox Code Playgroud)

.focus()在打开后追加并不总是有效,也没有在.focus()没有setTimeout 的情况下调用.

我知道它很难看(想要在几年之后摆脱它,没有成功),我不知道原因和方法的确切原因,但它确实有效.