【问题标题】:Is there a way to get the HTML in a webview in an Android app?有没有办法在 Android 应用程序的 web 视图中获取 HTML?
【发布时间】:2010-12-28 04:33:02
【问题描述】:
有没有办法在 Android 应用程序的 web 视图中获取 HTML?我更喜欢通过简单的资源下载来获取 HTML,特别是如果我可以获取由 JavaScript 生成的 HTML。
例如,如果我想要我的 android 应用程序(包括 gmail 等 Web 应用程序)可访问的随机 HTML 文档中的所有 URL 列表,我该怎么做?
android 文档警告说让 JavaScript 访问应用程序,但我想如果可能的话,一个解决方案可能是将一些 JavaScript 注入网页,然后以一种希望安全的方式与我的应用程序通信(通过消息通过我控制 javascript 或类似内容的网站上的 iframe 传递或其他内容)。
有人有什么想法吗?
【问题讨论】:
标签:
javascript
android
webview
android-webview
【解决方案1】:
有没有办法在 Android 应用的 webview 中获取 HTML?
不容易。 javascript: URL 有效,addJavascriptInterface() 允许您设置 Javascript 可以调用的回调。您可以创建一个由 javascript: URL 加载的 Javascript 的 sn-p,该 URL 获取您的 DOM,或者遍历您的链接列表,或者其他东西,通过您通过 addJavascriptInterface() 注册的回调对象将结果发送回您.
【解决方案2】:
a = (WebView) findViewById(R.id.web);
a.loadUrl("javascript:(function() { " +
"document.getElementById('inputID').value='"+EditText.getText()+"'; " +
"document.getElementById('inputID').value='"+EditText.getText()+"'; " +
"})()");
a.loadUrl("javascript:(function() {IWBUTTON1_onclick(false);})()");