c# - 有没有办法从 .NET 应用程序中的 WebBrowser 控件内部启用 IE8 开发人员工具

标签 c# .net javascript browser ie-developer-tools

如果您有 IE8,您可能已经注意到 MS 添加的一个非常方便的功能。点击 F12 和 Developer Tools,一个类似调试器的 Firebug ,弹出。这对于调试目的非常有用,我想知道是否有办法弹出 Developer Tools来自 .NET 应用程序内的 WebBrowser 控件。

我的情况是这样的:我有一个具有嵌入式 WebBrowser 控件的 C# 应用程序。 C# 应用程序和 DHTML 网络浏览器内容使用 ObjectForScripting(C# 端)和 window.external(DHTML 端)接口(interface)相互通信,因此为了测试/调试/排除全部功能,我需要一种方法来触发开发人员WebBrowser 控件中的工具。到目前为止,我们仅限于使用 Firebug Lite这受到严重限制或使用“调试器”触发 javascript 的步骤调试 session ; js,但现在我们已经到了这些选项变得真正麻烦的地步,并且不允许我们使用 Firebug 或 Developer Tools 之类的东西获得的全部功能。

我真正喜欢做的是能够在应用程序运行时从我的 WebBrowser 控件中弹出开发人员工具,但我还没有找到实现此目的的方法。

有没有其他人遇到过这个问题并发现是否有办法让它发生?

最佳答案

不,正如其他人所说,这是不可能的。但是,有一种方法可以将大部分窗口错误连接到自定义处理程序。 文档加载完成后,您可以将监听器附加到窗口。例如

webBrowser.DocumentCompleted += (o, e) =>
{
    webBrowser.Document.Window.Error += (w, we) =>
    {
        we.Handled = true;

        // Do something with the error...
        Debug.WriteLine(
            string.Format(
               "Error: {1}\nline: {0}\nurl: {2}",
               we.LineNumber, //#0
               we.Description, //#1
               we.Url));  //#2
    };
};

关于c# - 有没有办法从 .NET 应用程序中的 WebBrowser 控件内部启用 IE8 开发人员工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1917314/

相关文章:

c# - 为 ClassList 创建多个输入

c# - 除非调整窗口大小,否则 WPF 的 Awesomium 不会呈现

javascript - Nginx 在 POST .js 请求上返回 404

javascript - 将 React-Hook 与重定向和 setTimeout 结合使用

javascript - bootstrap-datetimepicker 只显示日期

c# - 如何将枚举作为方法参数传递?

c# - 我在 RDLC 报告中得到 "The report definition for report ' xxxx.rdlc' has not been specified"

c# - 具有.Net 客户端和Android 客户端的WCF 服务器策略?

c# - 登录失败。用户 'NT AUTHORITY\SYSTEM' 登录失败

c# - 需要帮助使 dotnet Controller 干燥