1

我有一个从服务器加载 web 视图的 android 应用程序。我没有服务器代码,所以我无法更改 Javascript 中的任何内容。我想弄清楚在 web 视图中单击按钮的时间以及按钮中的标签是什么。我不知道Id,我只想得到标签。

我尝试搜索此内容,但找不到答案。我找到了可以在 javascript 中工作的解决方案,但就我而言,我不能。

4

2 回答 2

1

此建议可能有助于找到有助于确定按钮标签的有用信息。OverrideshouldOverrideUrlLoading()shouldInterceptRequest()/或onLoadResource()forWebViewClient以便您可以访问任何重定向的 URL。

例子:

webview.setWebViewClient(new WebViewClient() {
    public boolean shouldOverrideUrlLoading(WebView view, String url) {

        // Try to learn something useful from the 'url' here.

        // Continue as normal, loading the 'url' within this WebView.
        view.loadUrl(url);
        return false; // Allow the WebView to handle the request.
    }

    // Optional: Add similar for "shouldInterceptRequest()" and/or "onLoadResource()".
});

注意:上面的覆盖shouldOverrideUrlLoading()是使重定向保持不变WebView而不是重定向到默认浏览器应用程序的标准方法。

于 2013-03-25T17:40:31.217 回答
0

您可能真的想检查此页面:

在 WebView 中构建 Web 应用程序(Google API 指南)

具体来说,似乎 addJavascriptInterface 可能是您正在寻找的:

addJavascriptInterface(对象对象,字符串名称)

它允许您从 javascript 执行您的 Java 代码,并且与在页面中插入代码的能力相结合,它是一个非常强大的工具,可让您在 Activity 和页面之间实现高度耦合。

我认为此时您已经知道该怎么做,但无论如何我都会勾勒出一个可能的行动方案:

  • 创建一个 javascript 界面,其中包含您希望在按下按钮时在活动中执行的回调
  • 一旦您的页面加载,安装代码以通过注入在每个按钮(或链接)中调用您的 javascript 界面

希望这可以帮助

于 2013-03-25T18:06:04.870 回答