在代码隐藏的 ctor 中,我们从microsoft-ui-xaml-specs复制了以下代码
MyWebView.WebMessageReceived += (WebView2 sender, WebView2WebMessageReceivedEventArgs args) =>
{
// Important to validate that the Uri is what we expect from that webview.
string uriAsString = sender.Source.ToString();
if (args.Source == uriAsString)
{
HandleWebMessageAsString(args.WebMessageAsString);
HandleWebMessageAsJson(args.WebMessageAsJson);
}
else
{
// If the source is not validated, don't process the message.
return;
}
};
编辑 1:在 WebView 导航到页面之前注册事件处理程序。POST 不是我们页面的一部分。POST 来自一个由外部服务注入我们页面的 javascript 实例化的按钮。
xml
<WebView2
Name="MyWebView" Grid.Row="1" Grid.ColumnSpan="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
/>
WebView2 正确导航和发布。我们在 WebView 中拥有该页面,并且我们知道该页面会收到响应。但是MyWebView.WebMessageReceived
没有被击中。
根据WinUI 3.0 Feature Roadmap WebView2 应该在 WinUI 3 Preview 3 中实现。
我应该能够阅读回复吗?如果是这样,我哪里出错了?