我想从gwt调用任意js函数。函数名称将在functionname变量中。像这样:
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);
}-*/;
答案 0 :(得分:7)
如果需要按名称调用函数,则需要执行以下操作:
private static native String execute(String functionName,JavaScriptObject data)/*-{
$wnd[functionName](data);
}-*/;
要获得对函数的引用,您需要使用这样的JSNI:
private static native JavaScriptObject getFunction(String functionName)/*-{
return $wnd[functionName];
}-*/;