### Method

# WebKit2 WebView run_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)) {
            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);
    }

#### 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.