如何将弹出窗口置于最前面?

时间:2020-03-13 15:13:09

标签: javascript asp.net firefox webforms

由于安全原因,以下方法不再起作用,因此我正在寻找另一种解决方案。

var win = window.open("http://www.google.com");
win.focus();

在我的主页上,用户可以打开一个弹出窗口。如果用户在主页上选择某些内容,则此弹出窗口将接收一些参数。

现在,一些用户对弹出窗口消失感到困惑。

我的想法是,一旦用户在主页上选择了某些内容,弹出窗口就会回到前面:

我的PopUpWindow.aspx页面上的页面加载事件

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If Not Page.IsPostBack Then

            If Request.QueryString("TYPE") = "foo" Then

                SetSometing(Request.QueryString("X"), Request.QueryString("Y"))

                If (Not Request.QueryString("bringtToFront") = "true") Then
                    Dim strParams As String = "&X=" & Request.QueryString("X") & "&Y=" & Request.QueryString("Y")
                    Page.ClientScript.RegisterStartupScript(Me.GetType(), "myOpenWindowScript", "window.open('PopUpWindow.aspx?bringtToFront=true&TYPE=foo" & strParams & "', '_self');", True)
                End If

            End If  
        End If
End Sub

我的新代码在SetSomething之后开始。基本上,我只是重新打开了窗口。 我很确定一个星期前在Firefox 73中该解决方案就可以了,但是现在只能在Microsoft Edge中使用,我不知道为什么。弹出窗口只是不转到最前面。 在Internet Explorer中,我得到了一个单独的选项卡,但这是另一个故事。如果至少能在Firefox,Edge和Chrome上做到这一点,我将感到高兴。

0 个答案:

没有答案