我试着在Awesomium聊天,但是没有得到ansver。 所以。让我们试试这段代码:
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引擎的原理。还是它的错误?
问候!