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:
<informalexample><programlisting> 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); } </programlisting></informalexample>
a #GAsyncResult
a #WebKitJavascriptResult with the result of the last executed statement in @script or %NULL in case of error
GException on failure.
See Implementation
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:
<informalexample><programlisting> 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); } </programlisting></informalexample>