Method

WebKit2WebViewrun_javascript_finish

Declaration [src]

WebKitJavascriptResult*
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);
    return;
}

value = webkit_javascript_result_get_js_value (js_result);
if (jsc_value_is_string (value)) {
    JSCException *exception;
    gchar        *str_value;

    str_value = jsc_value_to_string (value);
    exception = jsc_context_get_exception (jsc_value_get_context (value));
    if (exception)
        g_warning ("Error running javascript: %s", jsc_exception_get_message (exception));
    else
        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;

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);

}

Parameters

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.