【发布时间】:2013-10-06 19:28:39
【问题描述】:
如何在Javascript接口中将函数作为参数传递,保存为字符串然后调用?
比如我描述Javascript Interface:
class JSInterface{
String myFunction;
//set function into myFunction attribute
@JavascriptInterface
public void setMyFunction(String func) {
this.myFunction = func;
}
@JavascriptInterface
public void executeMyFunction() {
webView.loadUrl("javascript:"+this.myFunction);
}
}
添加:
//...
webview..addJavascriptInterface(new JSInterface, "application");
//...
在JS:
window.application.setMyFunction(function(){
//some code here...
});
注意:来自JS的传递函数需要这种形式,而不是字符串或json。
但事实上,在setMyFunction 我得到"undefined" 但期望"window.application.setMyFunction(function(){ //some code here...});"。请告诉我该怎么做,我将非常感激!
【问题讨论】:
标签: java javascript android android-jsinterface