Я пытаюсь спросить в чате Awesomium, но не получаю ответ.
Так. Попробуем этот код:
JSObject jso1 = webView.CreateGlobalJavascriptObject("Super1");
JSObject jso2 = webView.CreateGlobalJavascriptObject("Super2");
webView.ExecuteJavascript("Super2 = function() { return 555; }");
JSValue val = webView.ExecuteJavascriptWithResult("Super2();");
если мы проследим его с помощью debuger, мы можем наблюдать, что jso2 еще не будет создан, но jso1 будет.
Таким образом, val 2 никогда не устанавливается на 555.
Попробуем это:
webView.CreateGlobalJavascriptObject("Super1");
JSObject jso2 = webView.CreateGlobalJavascriptObject("Super2");
webView.ExecuteJavascript("Super2 = function() { return 555; }");
JSValue val = webView.ExecuteJavascriptWithResult("Super2();");
Super2 будет создан, но не будет назначен функции. val будет неопределенным (не 555).
против:
webView.CreateGlobalJavascriptObject("Super1");
webView.CreateGlobalJavascriptObject("Super2");
webView.ExecuteJavascript("Super2 = function() { return 555; }");
JSValue val = webView.ExecuteJavascriptWithResult("Super2();");
работает отлично! этот код создает два объекта и назначает функцию Super2 как функцию. val 555 после выполнения кода.
Так. Вопрос в том, кто не прав? Возможно, я понимаю, что я не понимаю принцип awesomium engine. Или это ошибка?
С уважением!