Итак, я разрабатываю веб-браузер, основанный на webView2, и моя проблема в том, что все появляется в определенном окне при нажатии кнопки установки. Он переходит во встроенное маленькое окно, в котором есть окно управления окнами по умолчанию и т.д. Как я могу отключить всплывающие окна и просто все в одном окне?
Редактировать:
Именно это я и хочу сделать:
Поэтому я хочу перейти по URL-адресу при вызове window.open()
вместо открытия нового окна edge / webView2. У меня есть этот код из документации Microsoft, но как мне сделать сам обработчик и заставить его работать?
public event EventHandler<Microsoft.Web.WebView2.Core.CoreWebView2NewWindowRequestedEventArgs> NewWindowRequested;
Это то, что я использую в своем код, однако он все еще выскакивает окно, я могу полностью отключить только всплывающие окна, есть ли способ исправить это?
e.NewWindow = (CoreWebView2)sender;
это код, который должен направить мой веб-просмотр на всплывающий URL.
CoreWebView2InitializationCompleted
. Там добавьте[Your WebView2 instance].CoreWebView2.NewWindowRequested += OnNewWindowRequested;
. Конечно, создайте обработчик событий:private void OnNewWindowRequested(object sender, CoreWebView2NewWindowRequestedEventArgs e) { // Whatever }
- Код от Microsoft - это просто обычное определение события, поэтому вы можете видеть, что он использует стандартный EventHander и настраиваемые EventArgs. Вам не нужно объявлять Событие, если речь идет о нем. - person Jimi   schedule 23.06.2021e.NewWindow = webView21
. (замените webView21 именем вашегоWebView2
). - person Poul Bak   schedule 24.06.2021e.NewWindow = webView21.CoreWebView2
. - person Poul Bak   schedule 25.06.2021