在awesomium中创建JavaScript全局对象

时间:2013-02-07 06:48:49

标签: c# awesomium

我试着在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引擎的原理。还是它的错误?

问候!

0 个答案:

没有答案