我正在尝试使WPF Webbrowser控件中的Javascript错误静音。根据对此page的“获取本机IWebBrowser2”注释,可以访问IWebBrowser2接口。从那里我想可以将Silent属性设置为true,如下所示:

    /// <summary>
    /// Handle navigation events
    /// </summary>
    protected virtual void OnNavigated(object sender, NavigationEventArgs e)
    {
        MakeComBrowserSilent();
    }

    private void MakeComBrowserSilent()
    {
        IServiceProvider serviceProvider = (IServiceProvider)_webViewer.Browser.Document;
        Guid serviceGuid = SID_SWebBrowserApp;
        Guid iid = typeof(SHDocVw.IWebBrowser2).GUID;
        SHDocVw.IWebBrowser2 comBrowser = (SHDocVw.IWebBrowser2)serviceProvider.QueryService(ref serviceGuid, ref iid);
        comBrowser.Silent = true;
        //comBrowser.PutProperty("Silent", true);
    }


我已经尝试过Silent = true和PutProperty。都不起作用,我仍然弹出Javascript错误。

有人知道如何使WPF WebBrowser控件中的Javascript调试错误静音吗?

TIA。

最佳答案

WPF浏览器类没有直接访问IWebBrowser接口的API,您必须通过文档来获取它,但是到准备访问文档时,已经为时已晚。 Interop Windows窗体或使用ActiveX / ActiveX包装器类(例如csexwb)。

10-07 21:42