4

Webkit GTK :: How to detect when a download has finished? のように、私が知りたいことに近いStackOverflow に関する他の質問があります。、しかし、私は少し違うことを求めていると思います:

一般に、イベント駆動型の C Webkit-GTK API には、ドキュメントの「読み込み」がいつ終了するかという考えに関連する可能性のある多くのイベントがあります。問題は、ドキュメントがかなりまばらであり、多くのことを参照できるため、「ロードの完了」の概念が必ずしも明確ではないことです。「ロードが完了しました」とは、ドキュメントのダウンロードが完了したことを意味しますか? DOM ツリーの作成が完了したということでしょうか。他のすべてのリソース (CSS、JS、画像ファイルなど)を含むダウンロードが完了したこと

関連する信号はsignal::notify::load-statusdocument-load-finished、およびresource-load-finishedです。

負荷のload-status状態が変化するたびにシグナルが発火するため、そのwebkit_web_view_get_load_status都度手動で呼び出して状態を確認する必要があります。それでも、ステータスが最終的に になったとき、それがWEBKIT_LOAD_FINISHED何を意味するのかわかりません。WebKit がリソースのダウンロードを完了したということですか、それとも DOM ツリーの作成が完了したということですか?

質問:

さまざまな「終了」シグナルの違いは何ですか?また、標準の Javascript DOM イベントに相当するシグナルはありますwindow.onloadか?

4

1 に答える 1

0

(私の意見では)あなたがテストしようとしているものとより密接に一致しているように見えるので、document-load-finishedシグナルはあなたが探しているものだと思います。

これを行う正しい方法をテストする 1 つのアイデアは、ドキュメントが手動で「読み込まれた」かどうかをテストするさまざまな方法をテストすることです。つまり、上記でリンクしたものを試して、値が true の場合にターミナルに文字列を出力します。ページがすべてのコンテンツを完全に表示する前に値が true である場合は、目的のページではない可能性があります。次に、正しいものが得られるまで、次のステップに進みます。

それ以外に、あなたが言ったように、定義があまり明確ではないので、他に何ができるかはよくわかりません。こういうときは、Gtk のドキュメントがもう少し冗長であってほしいと思います。

于 2013-11-26T10:44:39.943 に答える