Поскольку следующий подход больше не работает по соображениям безопасности, я ищу другое решение.
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 как минимум.