Как вывести Popup на фронт? - PullRequest
0 голосов
/ 13 марта 2020

Поскольку следующий подход больше не работает по соображениям безопасности, я ищу другое решение.

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. По сути, я просто снова открываю окно. Я почти уверен, что это решение было хорошо неделю go в Firefox 73, но теперь это работает только в Microsoft Edge, и я не знаю почему. Всплывающее окно windows просто не go впереди. В Inte rnet Explorer я получаю отдельную вкладку, но это другая история. Я был бы счастлив, если бы смог сделать это для Firefox, Edge и Chrome как минимум.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...