在Console无头浏览器中处理Awesomium ShowCreatedWebView事件

时间:2015-10-18 14:52:35

标签: c# awesomium headless-browser

我有一个使用c#构建的无头浏览器和用于.NET的Awesomium.Core。

我正在尝试处理主视图的ShowCreatedWebView以捕获新的WebView并将它们加载到主视图中。

ShowCreatedWebView的{​​{3}}中,示例正在使用我没有使用的WinForm控件:

internal static void OnShowNewView( object sender, ShowCreatedWebViewEventArgs e )
{
    WebControl webControl = sender as WebControl;

    if ( webControl == null ) return;

    if ( !webControl.IsLive ) return;

    ChildWindow newWindow  = new ChildWindow();

    // ....

我的问题是 - 如何创建新的子窗口并仅使用Awesomium.Core将其加载到主视图中?

在他们提到的文档中,对于Awesomium.Core,您应该:

  • 将NewViewInstance传递给WebView(IntPtr)以使用WebView包装新视图。
  • 对于窗口视图(请参阅ViewType),您现在应该分配一个ParentWindow。屏幕外视图默认分配了BitmapSurface,但根据应用程序的设计,您可能需要通过监视CreateSurface事件或设置Surface属性来分配新的ISurface。
  • 调整WebView的大小以匹配其容器。

我做到了:

webView = new WebView(e.NewViewInstance);
webView.Resize(1024, 768);

似乎加载了没有网址或发布数据的空白页面...在我的情况下,我希望在加载新视图后触发onDownload事件。

我怀疑我没有正确处理新的View?

0 个答案:

没有答案