0

Webページをロードするような簡単なことをしたい。何らかの理由で、Awesomium が IsLoading などのプロパティを更新していないか、DocumentReady や LoadingFrameComplete などのイベントをトリガーしていません。その理由がわかりません。誰か助けてもらえますか?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Awesomium.Core;

namespace DownloaderTest
{
    class ParsingHelper
    {
        WebView wv;

        public ParsingHelper(WebView web)
        {
            this.wv = web;
        }

        public void ParsingInitiation(string link)
        {
            wv.LoadingFrameComplete +=wv_LoadingFrameComplete;

            wv.Source = new Uri(link);
        }

        void wv_LoadingFrameComplete(object sender, FrameEventArgs e)
        {
            if(e.IsMainFrame)
            {
                //BeginParsing
                ((WebView)sender).LoadingFrameComplete -= wv_LoadingFrameComplete;
            }

        }
    }

    class Teste
    {
        WebView MainWeb = WebCore.CreateWebView(1024,768);

        public object[] ObtainInformation(int id)
        {
            ParsingHelper ph = new ParsingHelper(MainWeb);

            ph.ParsingInitiation("http://www.google.com");

            //More code

            return new object[] {};
        }


    }
}

次のようなものを実行すると...

Teste t = new Teste();
t.ObtainInformation(1);

wv_LoadingFrameCompleteトリガーされることはなく、その理由はわかりません。

4

2 に答える 2

1

このコードを試して、完全にロードされたページを検出します loadingFrameCompete イベント + IsLoading プロパティ

private void Awesomium_Windows_Forms_WebControl_LoadingFrameComplete(object sender, Awesomium.Core.FrameEventArgs e)
        {
            if (!webControl1.IsLoading)
                MessageBox.Show("Page Loaded Completely");
        }
于 2014-04-15T21:13:42.183 に答える
0

ここで回答: http://answers.awesomium.com/questions/2260/awesomium-not-loading-page-or-triggering-any-event.html

非 UI 環境 (WPF/WinForms コントロールではない) で Awesomium を使用しており、暗黙的に WebCore.Update() を呼び出す必要があるか、同じスレッドをブロックしてイベントを発生させないようにします。

于 2013-08-17T22:39:25.473 に答える