没有Javascript的webview中的按钮

时间:2013-03-25 16:51:33

标签: android button webview

我有一个从服务器加载webview的android应用程序。我没有服务器代码所以我无法在Javascript中进行任何更改。我想知道在webview中点击按钮的时间以及按钮中的标签是什么。我不知道Id,我只想获得标签。

我试着寻找这个,却找不到答案。我找到了可以在javascript中工作的解决方案,但在我的情况下我不能。

2 个答案:

答案 0 :(得分:1)

此建议可能有助于找到可能导致确定按钮标签的有用信息。覆盖shouldOverrideUrlLoading()的{​​{1}},shouldInterceptRequest()和/或onLoadResource(),以便您可以获取任何重定向的网址。

示例:

WebViewClient

注意:如上所述覆盖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()内而不是重定向到默认浏览器应用程序的标准方法。

答案 1 :(得分:0)

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

Building Web Apps in WebView (Google API Guides)

具体来说,似乎addJavascriptInterface可能就是你要找的东西:

addJavascriptInterface(Object object, String name)

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

我认为在这一点上你已经知道该怎么做了,但无论如何我都会勾勒出一个可能的行动方案:

  • 使用按下按钮时要在活动中执行的回调创建一个javascript界面​​
  • 一旦你的页面加载,安装代码通过注入在每个按钮(或链接)中调用你的javascript界面​​

希望这有帮助