2013-06-13 47 views
0

當在非UI環境中運行時,等待頁面在Awesomium.NET 1.7+中加載/重排的推薦方式是什麼?我試過這個方法:可靠地等待頁面加載或在Awesomium.NET 1.7+中迴流

using (var view = WebCore.CreateWebView(...)) 
{ 
    // Load page, resize view etc. 
    // ... 

    do 
    { 
     System.Threading.Thread.Sleep(50); 
     WebCore.Update(); 
    } while (view.IsLoading); 

    // Do something with the page 
    // ... 
} 

然而,這似乎並不可靠地工作 - 如果我渲染頁面的位圖它相當經常出來空白(但不總是)在循環之後。有沒有更好的方式來等待頁面加載/重排?

回答

0

你怎麼做取決於你在等什麼。問題中的代碼應該在等待頁面加載時工作,但調整視圖的大小是不同的 - 檢查BitmapSurface.Resized事件,當BitmapSurface已被調整大小並更新其緩衝區時觸發。

0

嘗試訂閱WebView.DocumentReady事件。

+0

DocumentReady僅意味着HTML已被加載,但JavaScript尚未發生,因此如果JavaScript將更改最初加載的HTML或將您帶到另一個頁面,則通常無用。 http://docs.awesomium.net/html/E_Awesomium_Core_WebView_DocumentReady.htm –