我正在尝试与加载在webview2中的页面进行互操作。基本上,我要做的是从webview调用一个win表单方法,但是showMessageFromWebview2方法从未被触发。
web内容从本地主机加载。
任何帮助都会很感激的。
win格式的代码
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);发布于 2021-12-27 14:19:13
终于我拿到了!谢谢@demonplus!
我刚刚将CoreWebView2.Settings和WebMessageReceived事件处理程序移到EnsureCoreWebView2Async方法之后的初始化块:
async private void InitializeAsync()
{
await testBrowser.EnsureCoreWebView2Async(); // Wait for coreWebView2 initialization
testBrowser.CoreWebView2.Settings.IsWebMessageEnabled = true;
testBrowser.CoreWebView2.WebMessageReceived += showMessageFromWebview2;
}https://stackoverflow.com/questions/70495785
复制相似问题