Android WebView에서 임의의 Javascript 기능을 실행하고 그 결과를 얻으려고합니다. 함수를 호출하려면 loadUrl()을 사용하고 결과와 함께 호출되어야하는 Javascript 인터페이스를 추가했습니다. 이것은 내가 loadUrl (에서 실행하려고이 같은 JS)의 모습입니다 :
Android : Javascript 기능이 eval() 이후 계속되지 않음
(function() {
var res = eval(foo());
MyInterface.setResult(res);
})()
foo
내가 앞서 추가 한 인터페이스입니다 내가 불러들이려고하고 MyInterface
하고있는 함수의 이름을 의미합니다. 이 작업을 수행하면 foo()
이 호출되지만 다음 호출에서는 호출되지 않습니다. MyInterface.setResult(res);
을 console.log("finished")
과 같은 간단한 JS 문으로 변경하려고했으나 eval()
뒤에는 아무 것도 실행되지 않습니다. eval
을 제거하면 다음 명령문이 실행됩니다. 여기에 무슨 일이 벌어지고 있는지에 대한 어떤 생각?
'foo()'는 무엇을 반환합니까? –