我想从gwt调用任意js函数。函数名称将在functionname变量内。像这样:
private static native String execute(String functionName, JavaScriptObject data) /*-{
return $wnd.functionName(data);
}-*/;
我认为这样的事情是可能的,但是如何创建fn变量来表示我的任意functionname函数。
private static native String execute(JavaScriptObject fn, JavaScriptObject data) /*-{
return fn(data);
}-*/;
最佳答案
如果需要按名称调用函数,则需要执行以下操作:
private static native String execute(String functionName,JavaScriptObject data)/*-{
$wnd[functionName](data);
}-*/;
要获得对函数的引用,您将需要使用JSNI,如下所示:
private static native JavaScriptObject getFunction(String functionName)/*-{
return $wnd[functionName];
}-*/;