【问题标题】:WebBrowser Control continue script execution without script error warning boxWebBrowser Control 继续执行脚本而没有脚本错误警告框
【发布时间】:2014-05-22 04:56:11
【问题描述】:

我必须调用第 3 方 CRM 系统。他们的 javascript 代码存在一些问题,但网页在 IE9 中可以正常运行。

如果我将 ScriptErrorsSuppressed 设置为 false,我将收到错误消息 - “此页面上的此脚本发生错误”,底部 - “您要继续在此页面上运行脚本吗?”

如果我单击“是”网页将正常工作,另一方面“否”将无法将 jquery 正确绑定到对象。

如果我将 ScriptErrorsSuppressed 设置为 true,则不会出现错误消息,但是这将停止执行脚本并且网页将无法正常工作。

IE9 可以显示脚本错误,但继续执行脚本。有没有办法模仿相同的行为?

  • 我已经尝试了堆栈溢出中提出的所有解决方案,但它们停止执行脚本
  • Web 浏览器控件在 IE9 模式下运行,我将注册表值设置为强制 IE9

谢谢 -麦盖斯

【问题讨论】:

    标签: c# .net internet-explorer webbrowser-control


    【解决方案1】:

    我们有几乎相似的任务。我尝试了所有方法,包括WebBrowser.ScriptErrorsSuppressed = true。这不是我想要的,因为所有 JavaScript 在出现异常后都停止工作。 但下一个对我有用:

        public PageWithWebBrowser()
        {
                WebBrowser.DocumentCompleted += OnWebBrowserDocumentCompleted;
                WebBrowser.Navigate("http://www.example.com");             
        }
    
        private void OnWebBrowserDocumentCompleted(object sender, System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e)
        {
                WebBrowser.Document.Window.Error += OnWebBrowserDocumentWindowError;
        }
    
        private void OnWebBrowserDocumentWindowError(object sender, System.Windows.Forms.HtmlElementErrorEventArgs e)
        {
                //Suppresses a dialog and continues running scripts on the page
                e.Handled = true;
        }
    

    如您所见,我为此使用了System.Windows.Forms.WebBrowser 控件,它可能会与 WPF WebBrowser 控件一起使用。

    希望这会有所帮助。

    【讨论】:

    • 我正在尝试使用它,但我仍然收到脚本错误弹出窗口。有任何想法吗? imgur.com/aqIKLe3
    猜你喜欢
    • 1970-01-01
    • 2021-05-24
    • 2012-10-20
    • 2020-01-14
    • 1970-01-01
    • 2015-09-26
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多