stringByEvaluatingJavascriptFromString (метод iOS, что эквивалентно Android?)

В приложении iOS я использовал

stringFromJavaScript = [webView stringByEvaluatingJavascriptFromString:@"document.getElementById(\"image\").getAttribute(\"src")"]; 

Чтобы получить каталог src изображения, отображаемого в webView. Я хочу сделать то же самое для Android. Какие у меня варианты?

По сути, цель состоит в том, чтобы захватить путь, чтобы я мог отправить эту же картинку по электронной почте …

то есть.

 "picture.php?image=%@",stringFromJavascript 

Таким образом, это же изображение будет загружено, когда пользователь нажмет на ссылку или разместит ее в facebook и т. Д.

Да, я очень сильно скучаю по этому методу в Android;)

Чтобы выполнить JavaScript и получить ответ, вы можете сделать следующее:

  1. Определите интерфейс обратного вызова JavaScript в вашем коде:

     class MyJavaScriptInterface { @JavascriptInterface public void someCallback(String jsResult) { // your code... } } 
  2. Присоедините этот обратный вызов к WebView

     MyJavaScriptInterface javaInterface = new MyJavaScriptInterface(); yourWebView.addJavascriptInterface(javaInterface, "HTMLOUT"); 
  3. Запустите window.HTMLOUT.someCallback вызова JavaScript.HTMLOUT.someCallback из сценария:

     yourWebView.loadUrl("javascript:( function () { var resultSrc = document.getElementById(\"image\").getAttribute(\"src\"); window.HTMLOUT.someCallback(resultSrc); } ) ()"); 

Надеюсь это поможет!