On Android.
I followed the steps on How do I get the web page contents from a WebView? When a page is loaded it logs out 'undefined' for document.
My SDK settings:
minSdkVersion 15
targetSdkVersion 22
code:
class JavaScriptInterface
{
@JavascriptInterface
public void processContent(String aContent)
{
Log.i("js", aContent);
}
}
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setUseWideViewPort(true);
myWebView.addJavascriptInterface(new JavaScriptInterface(), "INTERFACE");
myWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
view.loadUrl("javascript:window.INTERFACE.processContent(document.getElementsByTagName('body')[0].innerHTML);");
}
});
myWebView.loadUrl("http://example.com");