2012-09-25 49 views
0

我正在尝试开发Facebook的游戏,我正在尝试通过js-sdk“发布到时间轴”功能。我的代码库是java,使用lib-gdx,问题是,我不知道如何调用显示“Publish to Timeline”提示的js函数。什么是正确的做法?我已经试过这一项记载here,但不工作:从java调用javascript函数的正确方法?

public static native void publishFeed(int score) /*-{ 
publishFeed(score); 
}-*/ 

回答

0

的IUnknown ::的QueryInterface在Java中

类对象是类层次结构的根。每个类都有Object作为超类。所有对象,包括数组,都实现了这个类的方法。 Object :: getClass()方法返回'Class',它具有许多有用的功能来发现Java类本身的细节。虽然详细的解释超出了本文的范围,但我想指出getInterfaces()方法,它可以动态发现由Java类实现的接口。

我还没有尝试从JavaScript中调用getClass()方法,因此无法评论它的可行性。但是使用基础设施类型的小应用程序,这个功能可以很容易地提供给脚本代码。

检查此链接希望你得到你找什么

http://www.codeproject.com/Articles/571/Java-to-JavaScript-Communication

3

GWT代码(一般)在iframe中运行,所以JSNI代码(window)的(全球)范围是不一样的作为所谓的HTML主页之一。那一个叫$wnd

public static native void publishFeed(int score) /*-{ 
    $wnd.publishFeed(score); 
}-*/; 
+1

工作就像一个魅力。感谢分享信息! –

+1

这不是什么秘密。直接为doc:“当从JSNI访问浏览器的窗口和文档对象时,必须分别将它们引用为$ wnd和$ doc。你编译的脚本运行在嵌套框架中,并且$ wnd和$ doc会自动初始化以正确引用主机页面的窗口和文档。“并且知道'window' ==全局作用域是JS 101。 –