[英]Android WebView extract HTML
基本上,我正在开发一个Android应用程序,用户可以访问页面的HTML内容,然后选择如何处理它,无论是写入文件系统,通过FTP上传等等。用户无法看到HTML但是它存储它以供以后查看。
我尝试添加一个JavaScript接口,然后将其添加到onPageFinished事件,它只是不想交出HTML,继承我所做的:
所以对于我的onPageFinished事件:
Webview wv = (WebView) findViewById(R.id.webbrowser);
wv.addJavascriptInterface(new JSEngine() , "JSEngine");
public void onPageFinished(WebView wv , String html){
//code to execute
wv.loadUrl("javascript: window.JSEngine.processHTML(document.body.innerHTML)");
}
在processHTML中执行的代码由于某些原因无法共享,但我可以告诉你html变量是空的。
那我的javascript界面:
Class JSEngine{
@JavascriptInterface
public void processHTML(String html){
//code to execute
//html variable is null
}
}
有什么能解决我的问题吗? 我的所有权限都已设置,我的课程正常运行,直到涉及到webview移交html。
如果用户不需要查看HTML,那么忘记WebView
,使用常规HTTP流打开页面,读取HTML数据并使用它。
我怀疑实际上有一个网页的预览,在这种情况下,最好的办法是读取HTML数据流,然后转向并在带有loadDataWithBaseURL()
的WebView
显示。
另一种可能是覆盖WebViewClient.onLoadResource()
并打开HTTP流以读取该URL上的数据。 这是多余的,因为WebView
将自己读取数据,但问题是WebView
只是不会挂钩它正在读取的HTTP数据流。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.