Я пытаюсь выполнить произвольную функцию Javascript в Android WebView и получить ее результат.Чтобы вызвать функцию, я использую loadUrl (), а также добавил интерфейс Javascript, который должен вызываться с результатом.Вот как выглядит JS, который я пытаюсь выполнить из loadUrl ():
(function () {
var res = eval(foo());
MyInterface.setResult(res);
})()
foo
обозначает имя функции, которую я пытаюсь вызвать, и MyInterface
это интерфейс, который я добавил ранее.Когда я делаю это, foo()
действительно вызывается, но следующий вызов - нет.Я попытался изменить MyInterface.setResult(res);
на более простые операторы JS, такие как console.log("finished")
, но после eval()
ничего не выполняется.Если я удаляю eval
, следующая инструкция выполняется.Есть идеи, что здесь происходит?