How to inject & execute JavaScript code in ewk widget

This sample code describes how to execute JavaScript code in ewk widget. By use this approach, we can try to set a Uri to let the ewk widget to loading an html page and then get the specific html tag content or form input value by inject & execute a piece of JavaScript code.
/* Naviframe */
ad->naviframe = elm_naviframe_add(ad->conform);
evas_object_size_hint_weight_set(ad->naviframe, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(ad->naviframe, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(ad->naviframe);

Evas_Object *ewk = ewk_view_add(evas_object_evas_get(ad->naviframe));
Ewk_Settings *settings = ewk_view_settings_get(ewk);
ewk_settings_javascript_enabled_set(settings, EINA_TRUE);
ewk_view_script_execute(ewk, "function test() { return 'test'; }; test();", scriptCallback, NULL);

elm_naviframe_item_push(ad->naviframe, "ewk_view_script_execute", NULL, NULL, ewk, NULL);
elm_object_content_set(ad->conform, ad-> naviframe);

// print the return value of the javascript code
static void scriptCallback(Evas_Object *obj, const char *result_value, void *user_data) 
{
dlog_print(DLOG_INFO, LOG_TAG, "[scriptCallback] return value: %s\n", result_value);
}

Responses

0 Replies