将焦点设置为来自 C#(或 JS)的弹出窗口 window

Set Focus to a popup window from C# (or JS)

我正在尝试让弹出窗口 window 聚焦我尝试了 window.open().focus(); 但它在后台不断变化,所以我在我的代码中尝试关闭 window 然后重新打开它。

string url = "Report.aspx";
string s = "window.open('" + url + "', 'popup_window456789123', 'width=650,height=500,left=100,top=100,resizable=yes,scrollbars=yes')";

string t = "window.close()";
this.ClientScript.RegisterClientScriptBlock(this.GetType(), "Close", t, true);

ClientScript.RegisterStartupScript(this.GetType(), "script", s, true);

谁能告诉我为什么这不起作用?

我在 Jquery 中尝试过,但也没有用:

<script type="text/javascript">
    $(document).ready(function () {
        alert("test");
        window.focus();
    });
</script>

流量:

  1. 主页:单击按钮 1 ► 打开弹出窗口 1
  2. 弹出窗口处于焦点状态并显示数据
  3. 主页(获得焦点):单击按钮 2 ► 打开相同的弹出窗口 1
  4. 弹出窗口更改数据(但未获得焦点)这就是问题所在

好的,我已经完成了 fiddle,其中显示了您应该拥有的内容。 View Fiddle

如果我单击一个 window 并单击另一个,它会返回(重新加载)并获得焦点。

如果您希望文本框获得焦点或已加载的内容 window,那么您需要在正在加载的页面中包含某些内容以赋予该文本框焦点。

      <script> function openwin(url) {
      window.open(url, 'popup_window456789123','width=650,height=500,left=100,top=100,resizable=yes,scrollbars=yes ')
    }
</script>

    <button onclick="openwin('https://www.webpagetest.org/')">
Button1
</button>
<button onclick="openwin('https://www.webpagetest.org/')">
Button2
</button>