什么是 WebKitLoadEvent 以及如何获取它以便使用“加载更改”信号回调

问题描述 投票:0回答:1

我已经阅读了当 web_view 中的加载操作发生变化时可以发出的加载变化信号。(https://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebView.html#WebKitWebView-load-changed) 我需要使用它,但我不明白如何让 WebKitLoadEvent load_event 正确使用此功能。我没有看到任何其他返回 WebKitLoadEvent 的函数。我该如何使用这个功能?

static void web_view_load_changed (WebKitWebView   *web_view,WebKitLoadEvent  load_event, gpointer data)
{
  struct widget *w = (struct widget *)data;
  const gchar *redirected_uri;
  const gchar *uri;
  GTimer *timer = g_timer_new ();

    switch (load_event) {
    case WEBKIT_LOAD_STARTED:
        break;
    case WEBKIT_LOAD_REDIRECTED:
        break;
    case WEBKIT_LOAD_COMMITTED:
        break;
    case WEBKIT_LOAD_FINISHED:                            
        break;
    }
}
c linux webkit gtk3
1个回答
0
投票

正如你所说,这个信号是从 web_view 发出的。因此,为了使用它,您只需要在创建 web_view 的地方将此功能与 web_view 连接。

这应该是这样的:

web_view = WEBKIT_WEB_VIEW(webkit_web_view_new());
g_signal_connect(web_view, "load-change", G_CALLBAK(web_view_load_changed), (gpointer) data);
© www.soinside.com 2019 - 2024. All rights reserved.