如何在Javascript接口中将函数作为参数传递,将其保存为字符串,然后调用?如何在Javascript接口中将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...});"
。请告诉我该怎么做,我会非常感激!
不太明白你的意思。问题是,我无法在JavaScript端做任何事情。我只能处理传递给'Javasctipt Intarface'的参数。 –
什么执行JavaScript然后?如果这是在客户端处理的,字符串中的函数应该足够了吗? – Robert
是的,我需要设置字符串像' ''function(){ //这里的一些代码...' }“'到'myFunction'属性。这将是足够的。但我只得到''undefined''。 –