Declaration [src]

webkit_web_view_run_javascript_finish (
  WebKitWebView* web_view,
  GAsyncResult* result,
  GError** error

Description [src]

Finish an asynchronous operation started with webkit_web_view_run_javascript().

This is an example of using webkit_web_view_run_javascript() with a script returning a string:

static void
web_view_javascript_finished (GObject      *object,
                              GAsyncResult *result,
                              gpointer      user_data)
    WebKitJavascriptResult *js_result;
    JSCValue               *value;
    GError                 *error = NULL;

    js_result = webkit_web_view_run_javascript_finish (WEBKIT_WEB_VIEW (object), result, &error);
    if (!js_result) {
        g_warning ("Error running javascript: %s", error->message);
        g_error_free (error);

    value = webkit_javascript_result_get_js_value (js_result);
    if (jsc_value_is_string (value)) {
        gchar        *str_value = jsc_value_to_string (value);
        JSCException *exception = jsc_context_get_exception (jsc_value_get_context (value));
        if (exception)
            g_warning ("Error running javascript: %s", jsc_exception_get_message (exception));
            g_print ("Script result: %s\n", str_value);
        g_free (str_value);
    } else {
        g_warning ("Error running javascript: unexpected return value");
    webkit_javascript_result_unref (js_result);

static void
web_view_get_link_url (WebKitWebView *web_view,
                       const gchar   *link_id)
    gchar *script = g_strdup_printf ("window.document.getElementById('%s').href;", link_id);
    webkit_web_view_run_javascript (web_view, script, NULL, web_view_javascript_finished, NULL);
    g_free (script);


result GAsyncResult

A GAsyncResult.

 The data is owned by the caller of the function.
error GError **
  The return location for a GError*, or NULL.

Return value

Returns: WebKitJavascriptResult

A WebKitJavascriptResult with the result of the last executed statement in script or NULL in case of error.

 The caller of the method takes ownership of the data, and is responsible for freeing it.