Webkit显示空白页

时间:2014-01-07 10:30:40

标签: c# browser webkit

我目前在C#.net中使用WebKit。 在WEBKIT中加载此页面时遇到问题。 http://shop.orange.co.uk/mobile-phones/4g-ready-phoneshttp://www.vax.co.uk/ WEBKIT成功显示其他网页内容 但是在上述网页的情况下。有 一个空白的网页。没有Page原创内容。 虽然这个页面在Firefox,Opera浏览器中运行良好。 对此有何帮助? 感染这不是唯一的页面。 问候。

1 个答案:

答案 0 :(得分:0)

我发现无法使用webkitdotnet项目检查或调试html / javascript。似乎它没有维持一段时间。

因此,如果您有能力转移到其他网络引擎,我建议CefSharp - Embedded Chromium for .NET。我认为,它的强大引擎具有webkitdotnet的所有功能,并且还允许连接Chrome浏览器检查器以调试页面。为此,您需要设置RemoteDebuggingPort属性:

var settings = new CefSettings();
settings.RemoteDebuggingPort = 8088;

Cef.Initialize(settings);

然后,您可以在Chrome浏览器中打开网址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使您可以访问页面和JavaScript控制台的HTML DOM。

快乐调试^)