Das ist, was ich gerade habe:
Code: Select all
public partial class WebView2BrowserControl : WebView2
{
private async void OnWebViewLoaded(object sender, RoutedEventArgs e)
{
await EnsureCoreWebView2Async();
if (showDeveloperTools)
{
CoreWebView2.GetDevToolsProtocolEventReceiver("Log.entryAdded").DevToolsProtocolEventReceived += OnConsoleMessage;
CoreWebView2.OpenDevToolsWindow();
}
else
{
CoreWebView2.Settings.AreDevToolsEnabled = false;
}
}
private void OnConsoleMessage(object sender, CoreWebView2DevToolsProtocolEventReceivedEventArgs e)
{
if (e != null && e.ParameterObjectAsJson != null)
{
Trace.WriteLine("WebView2:" + e.ParameterObjectAsJson);
}
}
}
eventName:String – Der vollständige Name des Ereignisses im Format {domain}.{event}.
Weitere Informationen zur DevToolsProtocol-Ereignisbeschreibung und den Ereignisargumenten finden Sie im DevTools Protocol Viewer.
...Und laut DevTools Protocol Viewer ist das Ereignis, nach dem ich suche Log.entryAdded.
Das Problem besteht nun darin, dass der Aufruf GetDevToolsProtocolEventReceiver("Log.entryAdded") zwar keine Ausnahme auslöst, das Ereignis jedoch nie ausgelöst wird, selbst wenn ich sehen kann, dass Dinge in DevTools protokolliert werden. Ich habe sogar versucht, meine eigenen console.log()-Aufrufe im DevTools-Fenster zu schreiben.
Andere Dinge, die ich versucht habe:
- mit dem Evergreen Standalone Installer, der WebView2 auf dem Computer installiert, oder mit der festen Version (sowohl 87- als auch 88-Versionen), die im Grunde eine tragbare Version von WebView2 ist
- unter Verwendung der beiden neuesten stabilen Versionen von Microsoft.Web.View2.Core.dll von NuGet, das 1.0.705.50 und die neueste Vorabversion ist
- sowohl das Log.entryAdded-Ereignis als auch das Console.messageAdded (veraltet) verwenden
- das Ereignis abonnieren, nachdem ich das DevTools-Fenster geöffnet habe
Mobile version