如何在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''。 –