【问题标题】:Calling native method from webview2从 webview2 调用本机方法
【发布时间】:2021-05-01 18:02:42
【问题描述】:

我正在尝试从 webview2 中的 UWP webview 为 WPF 应用程序实现 WebView.AddWebAllowedObject(String, Object) 的类似功能。

在文档中发现此方法AddHostObjectToScrip。我将此方法称为来自NavigationStarting 事件的webView.CoreWebView2.AddHostObjectToScript("NativeObject", new WebJsObject());。我已经添加了我的类,如下所示:

[ClassInterface(ClassInterfaceType.AutoDual)]
[ComVisible(true)]
public class WebJsObject
{
    public WebJsObject()
    {
    }

    public void OnReady(string id)
    {
        Debug.WriteLine($"value received {id}");
    }
}

但在 Web 调试控制台中,我没有找到 NativeObject。我在这里做错了什么。 WPF 中的 webview2 如何正确处理?

【问题讨论】:

    标签: c# wpf webview2


    【解决方案1】:

    宿主对象实际上是在脚本中添加的。从脚本执行本机方法 window.chrome.webview.hostObjects.NativeObject.onReady();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多