2

我想从 gwt 调用任意 js 函数。函数名称将在函数名称变量内。像这样的东西:

private static native String execute(String functionName, JavaScriptObject data) /*-{
    return $wnd.functionName(data);
}-*/;

我认为这样的事情是可能的,但是如何创建 fn 变量来表示我的任意函数名函数。

private static native String execute(JavaScriptObject fn, JavaScriptObject data) /*-{
    return fn(data);
}-*/;
4

1 回答 1

7

如果您需要按名称调用函数,则需要执行以下操作:

private static native String execute(String functionName,JavaScriptObject data)/*-{
     $wnd[functionName](data);

}-*/;

要获得对函数的引用,您需要像这样使用 JSNI:

private static native JavaScriptObject getFunction(String functionName)/*-{
    return  $wnd[functionName];

}-*/;
于 2012-01-24T13:41:18.487 回答