Текущая ситуация:
При нажатии кнопки в определенном домене , открывается всплывающее окно.
Всплывающее окно подвергается следующему процессу:
Первоначальный URL: about:blank (пустая страница)
Затем происходит перенаправление: Домен аутентификации → Конечный целевой домен.
Я попытался обработать всплывающее окно в новом экземпляре WebView2, используя событие NewWindowRequested.
Проблема в том, что когда я устанавливаю e.Handled = true для блокировки всплывающего окна, а затем пытаюсь загрузить URL-адрес в новом экземпляре WebView2, он останавливается на about:blank и не продолжает перенаправление.
Проблемы:
Первоначальный URL-адрес всплывающего окна всегда имеет значение about:blank. , и перенаправление не происходит.
Когда я устанавливаю e.Handled = false, чтобы разблокировать всплывающее окно, всплывающее окно открывается в браузере Edge по умолчанию, и процесс аутентификации и перенаправления работает должным образом.
Однако , в новом элементе управления WebView2 процесс зависает на месте about:blank, и перенаправление не происходит.
Дайте мне знать, если вы хотите внести дополнительные изменения!
Код, который я пробовал:
`webView2.CoreWebView2.NewWindowRequested += (s, e) =>
{
e.Handled = true; // Block the popup
// Create a new WebView2 instance
var popupWebView2 = new WebView2();
popupWebView2.Source = e.Uri; // Initial about:blank URL
popupWebView2.CoreWebView2InitializationCompleted += (sender, args) =>
{
if (args.IsSuccess)
{
// Load the popup URL
popupWebView2.CoreWebView2.Navigate(e.Uri.ToString());
}
};
};`
Подробнее здесь: https://stackoverflow.com/questions/791 ... popup-page
Мобильная версия