【发布时间】:2011-04-22 23:25:01
【问题描述】:
我正在创建一个具有用户注册页面的应用程序。这个页面是从我的 webview 中的 url 加载的,它有提交按钮。提交表单后,它会在下一个带有用户 ID 的 url 中为我提供一个隐藏字段。我的问题是我想将该 url 中的隐藏字段值读取到我的 android 应用程序中。
我已经尝试使用以下函数来获取加载页面事件。
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
view.loadUrl("javascript:window.HTMLOUT.showHTML('<head>'+document.getElementsById('userId').innerHTML+'</head>');");
}
那我的showHtml方法是这样的
class MyJavaScriptInterface
{
@SuppressWarnings("unused")
public void showHTML(String html)
{
System.out.println("HTML "+html);
}
}
注册用户后,我仍然无法获取加载的 HTML 页面的数据。 任何人都可以指导我在这里做错了什么吗?或者这不是我应该获取隐藏字段数据的方式。
【问题讨论】:
-
如果页面 HTML 是有效的,您可以尝试使用 SAX Parser 或其他东西来解析 HTML。然后你可以隔离你的隐藏字段并获得它的价值。此外,如果返回隐藏字段的服务是您的,您可以让它返回一个 XML 文件(以便轻松解析它),或者您可以使用 Sockets 之类的东西进行注册。
-
我的问题是我无法读取 html 数据或流,因为我无法控制我的 webview 中的 loded url
标签: android webview hidden-field