微软.Net Win Form Webview2互操作



我正在尝试与webview2中加载的页面进行互操作。基本上,我想做的是从webview调用一个win-form方法,但方法showMessageFromWebview2从未被激发。

web内容是从localhost加载的。

任何帮助都将不胜感激。

获胜形式的代码

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代码

window.chrome.webview.postMessage(mJsonObject);

终于拿到了!谢谢@demonplus!

我刚刚将CoreWebView2.SettingsWebMessageReceived事件处理程序移动到EnsureCoreWebView 2Async方法之后的初始化块:

async private void InitializeAsync()
{
await testBrowser.EnsureCoreWebView2Async(); // Wait for coreWebView2 initialization
testBrowser.CoreWebView2.Settings.IsWebMessageEnabled = true;
testBrowser.CoreWebView2.WebMessageReceived += showMessageFromWebview2;
}

最新更新