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)) {
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 |
|
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 |
|
The caller of the method takes ownership of the data, and is responsible for freeing it. |