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

Bri*_* W. 20 .net javascript c# browser ie-developer-tools

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

我的情况是这样的:我有一个具有嵌入式WebBrowser控件的C#应用​​程序.C#app和DHTML Web浏览器内容使用ObjectForScripting(C#side)和window.external(DHTML side)接口相互通信,因此为了测试/调试/排除完整功能,我需要一种方法来触发Developer WebBrowser控件中的工具.到目前为止,我们仅限于使用严格限制的Firebug Lite或使用"调试器"触发javascript的步骤调试会话.js,但现在我们已经到了这些选项成为一个真正麻烦的地步,并且不允许我们可以使用像Firebug或开发者工具那样的全部功能.

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

有没有其他人遇到过这个问题并发现是否有办法实现这个目标?

Fra*_*ser 12

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

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
    };
};
Run Code Online (Sandbox Code Playgroud)