javascript - 如何从 Javascript 函数调用 JSNI 函数?

标签 javascript gwt jsni

这是 html 格式的来电按钮示例:

<input type='button' value='Call' onclick='Test()'>

下面是一些我试过但没有用的函数:

<script type="text/javascript">
    function Test() {
        com.tests.client.Test_GoogleWeb_JSNI::Callee()();
    }
</script>

但我们无法调用 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());
}-*/;

然后您在某处调用 exportStaticMethod(),甚至在您的 onModuleLoad 中。 <<你必须这样做

然后您可以从手写的 javascript 代码中调用 Callee()

您的按钮代码:

<input type='button' value='Call' onclick='$wnd.Callee();'>

关于javascript - 如何从 Javascript 函数调用 JSNI 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9277026/

相关文章:

javascript - 嵌套的 Object.keys forEach 循环和构建合并的 JSON 对象数组的问题

java - 使用 JavaScript 更改 JSP 自定义标记的 JSP 自定义属性值

javascript - .each() 中的下一个元素

javascript - 在 JavaScript 中使用 var 关键字创建 block 作用域变量

java - java.security.InvalidParameterException 类型没有可用的源代码

java - 如何使用 GWT 或 Javascript 强调 DIV 内的文本 (innerText) :

java - 处理从服务器到 GWT 客户端的自定义服务器端异常

javascript - 我可以在 GWT 中使用第三方 Javascript 库吗

eclipse - 如何在 GWT 中调试 JSNI 方法?

java - GWT JSNI调用小程序方法