### Method

# WebKit2 WebView run_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.