Method
WebKit2WebViewevaluate_javascript
Declaration [src]
void
webkit_web_view_evaluate_javascript (
  WebKitWebView* web_view,
  const char* script,
  gssize length,
  const char* world_name,
  const char* source_uri,
  GCancellable* cancellable,
  GAsyncReadyCallback callback,
  gpointer user_data
)
      Description [src]
Asynchronously evaluate script in the script world with name world_name of the main frame current context in web_view.
If world_name is NULL, the default world is used. Any value that is not NULL is a distinct world.
The source_uri will be shown in exceptions and doesn’t affect the behavior of the script.
When not provided, the document URL is used.
Note that if WebKitSettings:enable-javascript is FALSE, this method will do nothing.
If you want to use this method but still prevent web content from executing its own
JavaScript, then use WebKitSettings:enable-javascript-markup.
When the operation is finished, callback will be called. You can then call
webkit_web_view_evaluate_javascript_finish() to get the result of the operation.
This is an example of using webkit_web_view_evaluate_javascript() with a script returning
a string:
static void
web_view_javascript_finished (GObject      *object,
                              GAsyncResult *result,
                              gpointer      user_data)
{
    JSCValue               *value;
    GError                 *error = NULL;
    value = webkit_web_view_evaluate_javascript_finish (WEBKIT_WEB_VIEW (object), result, &error);
    if (!value) {
        g_warning ("Error running javascript: %s", error->message);
        g_error_free (error);
        return;
    }
    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_evaluate_javascript (web_view, script, -1, NULL, NULL, NULL, web_view_javascript_finished, NULL);
    g_free (script);
}
| Available since: | 2.40 | 
Parameters
script | 
            const char* | 
          
The script to evaluate.  | 
          |
| The data is owned by the caller of the function. | |
| The value is a NUL terminated UTF-8 string. | |
length | 
            gssize | 
          
Length of   | 
          |
world_name | 
            const char* | 
          
The name of a   | 
          |
The argument can be NULL. | |
| The data is owned by the caller of the function. | |
| The value is a NUL terminated UTF-8 string. | |
source_uri | 
            const char* | 
          
The source URI.  | 
          |
The argument can be NULL. | |
| The data is owned by the caller of the function. | |
| The value is a NUL terminated UTF-8 string. | |
cancellable | 
            GCancellable | 
          
A   | 
          |
The argument can be NULL. | |
| The data is owned by the caller of the function. | |
callback | 
            GAsyncReadyCallback | 
          
A   | 
          |
The argument can be NULL. | |
user_data | 
            gpointer | 
          
The data to pass to callback function.  | 
          |
The argument can be NULL. | |
| The data is owned by the caller of the function. |