stringByEvaluatingJavascriptFromString (iOS method, what is Android equivalent?)
android, ios, java, php
Solution
Yeah, I miss this method greatly in Android ;)
To execute JavaScript and get response you can do as follows:
Define JavaScript callback interface in your code:
class MyJavaScriptInterface {
@JavascriptInterface
public void someCallback(String jsResult) {
// your code...
}
}
Attach this callback to your WebView
MyJavaScriptInterface javaInterface = new MyJavaScriptInterface();
yourWebView.addJavascriptInterface(javaInterface, "HTMLOUT");
Run your JavaScript calling `window.HTMLOUT.someCallback` from the script:
yourWebView.loadUrl("javascript:( function () { var resultSrc = document.getElementById(\"image\").getAttribute(\"src\"); window.HTMLOUT.someCallback(resultSrc); } ) ()");
Hope this helps!
Problem
In an iOS app, I used ``` stringFromJavaScript = [webView stringByEvaluatingJavascriptFromString:@"document.getElementById(\"image\").getAttribute(\"src")"]; ``` To get the src directory of the image that was being displayed on the webView. I want to do the same for Android. What are my options? Basically the intent is to capture the path so that I can email this same picture... ie. ``` "picture.php?image=%@",stringFromJavascript ``` This way, that same image would be loaded when the user clicks the link, or posts it to facebook etc.