C Webkit GTK:确定文档何时完成加载

C Webkit GTK:确定文档何时完成加载,c,webkit,gtk,webkitgtk,C,Webkit,Gtk,Webkitgtk,关于StackOverflow还有其他一些问题接近我想知道的,比如,但我想我问的有些不同: 一般来说,在事件驱动的C Webkit GTK API中,有许多事件可能与某些文档何时完成“加载”有关。问题是,数据非常稀疏,“完成加载”的概念并不一定清楚,因为它可以引用很多东西。“已完成加载”是否意味着文档已完成下载?它已经完成了DOM树的创建?下载完毕,包括所有其他资源(如CSS、JS和图像文件?) 相关信号为signal::notify::load status,文档加载完成,以及资源加载完成 每

关于StackOverflow还有其他一些问题接近我想知道的,比如,但我想我问的有些不同:

一般来说,在事件驱动的C Webkit GTK API中,有许多事件可能与某些文档何时完成“加载”有关。问题是,数据非常稀疏,“完成加载”的概念并不一定清楚,因为它可以引用很多东西。“已完成加载”是否意味着文档已完成下载?它已经完成了DOM树的创建?下载完毕,包括所有其他资源(如CSS、JS和图像文件?)

相关信号为
signal::notify::load status
文档加载完成
,以及
资源加载完成

每次加载状态更改时,
load status
信号都会触发,因此您需要手动调用
webkit\u web\u view\u get\u load\u status
,并每次检查状态。即便如此,当状态最终为
WEBKIT\u LOAD\u FINISHED
时,我不确定这意味着什么——这意味着WEBKIT完成了资源下载,还是完成了DOM树的创建,或者是什么

问题:

各种“完成”信号之间的区别是什么,是否有任何信号等效于标准Javascript DOM事件
window.onload

我相信这正是您所寻找的,因为(在我看来)它似乎与您尝试测试的内容更加匹配

测试哪种方法是正确的方法的一个想法是测试文档是否手动“加载”的各种方法。也就是说,尝试我上面链接的那个,当值为true时,向终端输出一个字符串。如果该值在页面完全显示其所有内容之前为true,则很可能不是您要查找的内容。然后继续下一步,直到找到正确的


除此之外,我真的不确定你还能做什么,因为正如你提到的,定义不是很清楚。类似这样的时候,我希望Gtk文档更详细一些。

看看这个答案,注意load_status_cs回调。相关:什么版本的WebKit Gtk?