Method

WebKit2WebViewrun_javascript_finish

deprecated: 2.40 

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)) {
        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));
        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 = 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);
}

Deprecated since: 2.40

Use webkit_web_view_evaluate_javascript_finish() instead.

Parameters

result

Type: GAsyncResult

A GAsyncResult.

The data is owned by the caller of the method.
error

Type: GError **

The return location for a recoverable error.

The argument can be NULL.
If the return location is not NULL, then you must initialize it to a NULL GError*.
The argument will be left initialized to NULL by the method if there are no errors.
In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.

Return value

Type: 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 returned data, and is responsible for freeing it.