I'm trying to interoperate with a page loaded in webview2. Basically what I'm trying to do is calling a win form method from the webview but the method showMessageFromWebview2 is never fired.
The web content is loaded from localhost.
Any help would really be appreciated.
The code in win form
async private void WebView_CoreWebView2Ready(object sender, EventArgs e)
{
testBrowser.CoreWebView2.WebMessageReceived += showMessageFromWebview2;
}
public void showMessageFromWebview2(Object sender, CoreWebView2WebMessageReceivedEventArgs args)
{
String msg = args.TryGetWebMessageAsString();
MessageBox.Show(msg);
}
Javascript code
window.chrome.webview.postMessage(mJsonObject);
Finally I got it! Thanks @demonplus!
I've just moved the CoreWebView2.Settings and the WebMessageReceived event handler to the initialization block just after the EnsureCoreWebView2Async method: