我发现无法使用 webkitdotnet 项目检查或调试 html/javascript。而且好像有一段时间没维护了。
所以如果你有能力迁移到其他网络引擎,我会推荐CefSharp - Embedded Chromium for .NET。它是一个强大的引擎,我相信它拥有 webkitdotnet 的所有功能,它还允许附加 Chrome 浏览器检查器来调试页面。为此,您需要设置 RemoteDebuggingPort 属性:
var settings = new CefSettings();
settings.RemoteDebuggingPort = 8088;
Cef.Initialize(settings);
然后您可以在 Chrome 浏览器中打开 url http://localhost:8088 以附加在您的应用中运行的嵌入式引擎。
CefSharp 项目的源代码包含 WinForms 和 WPF 应用程序的示例。您可以从这些示例轻松开始。
更新:在编写时,CefSharp 组件不支持将整页快照作为图像。我在分支 https://github.com/ivan-sam/CefSharp 中创建了 ChromiumWebBrowserWithSnapshotSupport 类。我修改了 CefSharp.Wpf.Example 项目并添加了快照按钮,用于制作页面快照并打开图像。您也可以使用 ElementHost 将此控件放在 WinForms 表单上。
如果您无法移动,我看到的唯一可用选项是在本地下载受影响的页面以及所有相关内容(脚本、css 等),然后使用本地 Web 服务器托管它。然后修改它以使用本文所述的Firebug Lite(http://habrahabr.ru/post/154917/ - 它是俄语):
<!DOCTYPE html>
<html>
<head>
...
<script type='text/javascript' src='/path/to/firebug-lite.js'>
{
overrideConsole: true,
startInNewWindow: true,
startOpened: true,
enableTrace: true
}
</script>
...
</head>
<body>...</body>
</html>
要让 Firebug 在新窗口中打开,您应该添加以下 C# 代码:
browser.Url = new Uri(
"http://localhost/path/to/debug-version-of-interface.html",
System.UriKind.Absolute);
browser.NewWindowCreated += new NewWindowCreatedEventHandler(
(sender, newWindowEventArgs) =>
{
// create new form with single item - Firebug Lite window
debuggerForm = new DebuggerForm(newWindowEventArgs.WebKitBrowser);
debuggerForm.Show();
});
Firebug lite 让您可以访问页面的 HTML DOM 和 JavaScript 控制台。
调试愉快^)