【问题标题】:How to keep certificate pop-up and suppress script errors in WebBrowser control如何在 WebBrowser 控件中保持证书弹出并抑制脚本错误
【发布时间】:2018-04-09 02:33:37
【问题描述】:

弹窗有两种类型,见下图:

我想显示证书并禁止出现错误,我该怎么做?

仅供参考,使 SuppressScriptErrors=true 也将阻止证书。

【问题讨论】:

标签: c# wpf winforms webbrowser-control


【解决方案1】:

我知道这个问题发布已经很久了,但我找到了一个适合我的解决方案。

    // Hides script errors without hiding other dialog boxes.
    private void SuppressScriptErrorsOnly(WebBrowser browser)
    {
        // Ensure that ScriptErrorsSuppressed is set to false.
        browser.ScriptErrorsSuppressed = false;
    
        // Handle DocumentCompleted to gain access to the Document object.
        browser.DocumentCompleted +=
            new WebBrowserDocumentCompletedEventHandler(
                browser_DocumentCompleted);
    }
    
    private void browser_DocumentCompleted(object sender, 
        WebBrowserDocumentCompletedEventArgs e)
    {
        ((WebBrowser)sender).Document.Window.Error += 
            new HtmlElementErrorEventHandler(Window_Error);
    }
    
    private void Window_Error(object sender, 
        HtmlElementErrorEventArgs e)
    {
        // Ignore the error and suppress the error dialog box. 
        e.Handled = true;
    }

参考:https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.webbrowser.scripterrorssuppressed?view=net-5.0

对于类型:https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.htmlelementerroreventargs?view=net-5.0

您还可以检查错误的行号/ url 以抑制一些错误。

如果错误描述是要标记为已处理的语法错误。

-- 也关于升级到最新版本/新版本 - 我正在处理的网站需要是 IE。

【讨论】:

    猜你喜欢
    • 2011-09-02
    • 2010-11-20
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    相关资源
    最近更新 更多