这是html中的调用者按钮示例:
<input type='button' value='Call' onclick='Test()'>
Run Code Online (Sandbox Code Playgroud)
这里有一些我尝试过但没有用过的功能:
<script type="text/javascript">
function Test() {
com.tests.client.Test_GoogleWeb_JSNI::Callee()();
}
</script>
Run Code Online (Sandbox Code Playgroud)
但我们无法调用Callee().我们如何实现这一点?我的意思是我们如何从javascript调用JSNI函数?
帮助将不胜感激.
这很容易.您需要"导出"用GWT编写的函数(或者它可以是另一个JSNI)函数.
以下是相关文档:http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsJSNI.html#calling
所以在你的情况下:
在你的GWT代码中:
public static void Caller() /*-{
...
}-*/
public static native void exportStaticMethod() /*-{
$wnd.Callee =
$entry(@com.tests.client.Test_GoogleWeb_JSNI::Callee());
}-*/;
Run Code Online (Sandbox Code Playgroud)
然后你exportStaticMethod()
在某个地方打电话,甚至在你的onModuleLoad上."你必须这样做
然后你可以用Callee()
手写的javascript代码打电话.
您的按钮代码:
<input type='button' value='Call' onclick='$wnd.Callee();'>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3172 次 |
最近记录: |