如何在 WPF 应用程序中为 WebView "ScriptNotify" 添加允许的 URI 列表?

How to add a list of allowed URI's for WebView's "ScriptNotify" in a WPF app?

我正在尝试使用 "window.external.notify('my message');" 从 JavaScript 调用 C# 方法,但它似乎无法正常工作。我的猜测是我必须添加当前 window.location 允许的域列表,但我如何在 WPF 应用程序中执行此操作?我在网上看到的一切都与 UWP 有关。

    private void WebView_ScriptNotify(object sender, WebViewControlScriptNotifyEventArgs e)
    {
        throw new NotImplementedException();
    }

    private void WebView_DOMContentLoaded(object sender, WebViewControlDOMContentLoadedEventArgs e)
    {
        webView.InvokeScript("eval", new string[] {@"window.external.notify('{}');"});
    }

确保将 IsScriptNotifyAllowedIsJavaScriptEnabled 属性设置为 true,然后事件应该触发。

编辑:3.0.0 包中的 WPF WebView 存在错误。一个issue has been opened on GitHub to resolve it.

编辑 2:错误已在软件包的 4.0.0 版中修复。我现在正在与社区合作,将修复程序移植到服务 3.0.0。 PR 2346

编辑 3:该错误也在 3.0 服务分支中得到修复。将在新包发布到 NuGet 时更新

编辑 4:错误已修复,新包已推送到 NuGet