私はAwesomiumフォームでこの質問をしましたが、私はまだ何の応答も受けていませんでした。Awesomium C awe_webview_set_callback_js_callbackからの返信なし
対応するhtmlボタンを押すと、callback_UI()内のブレークポイントに到達できません。リンクはページ間を移動するのにうまく動作しますが、コールバックはトリガされません。ここで
は私の簡単なC側のコードです:他のすべてが正常に動作します
<input type="button" value="Click Me!"onclick="object_index.callback_index('hello!')" />
:
#define BUFFER_LEN_CALLBACKS 100
#define NAME_UIOBJ_INDEX "object_index"
#define NAME_UICALL_INDEX "callback_index"
void callback_UI(awe_webview* view, awe_string const* object_name, awe_string const* callback_name, awe_jsarray const* args){
char buff_object_name[BUFFER_LEN_CALLBACKS] = {0};
char buff_callback_name[BUFFER_LEN_CALLBACKS] = {0};
//char buff_args[BUFFER_LEN_CALLBACKS] = {0};
// Get the strings.
awe_string_to_utf8(object_name, buff_object_name, BUFFER_LEN_CALLBACKS);
awe_string_to_utf8(callback_name, buff_callback_name, BUFFER_LEN_CALLBACKS);
string s_obj_name(buff_object_name);
string s_call_name(buff_callback_name);
HandleCallback(s_obj_name, s_obj_name);
}
void create_uiobject(awe_webview* view, char* name){
awe_string* awes_name = awe_string_create_from_ascii(name, sizeof(name));
awe_webview_create_object(view, awes_name);
awe_string_destroy(awes_name);
}
void create_uicallback(awe_webview* view, char* name, char* callback){
awe_string* awes_name = awe_string_create_from_ascii(name, sizeof(name));
awe_string* awes_callback = awe_string_create_from_ascii(
callback,sizeof(callback));
awe_webview_set_object_callback(view, awes_name, awes_callback);
awe_string_destroy(awes_name);
awe_string_destroy(awes_callback);
// Set our UI callback to let the javascript talk to our program.
awe_webview_set_callback_js_callback(view, callback_UI);
}
void setup_javascript_objects(awe_webview* view){
// Create our object names.
create_uiobject(view,NAME_UIOBJ_INDEX);
// Create our object callbacks.
create_uicallback(view, NAME_UIOBJ_INDEX, NAME_UICALL_INDEX);
}
そしてここでは、JavaScriptコードの私のhtml側です。 awe_webview_set_callback_js_console_message()は、 "object_index"が定義されていないことを伝えています。私はそうするためにawe_webview_create_object()を使用していますが、多分私はそれを間違って使用しています。 Idk。
誰にもアイデアはありますか?