如何检测 WebView 中的按钮点击 Android?

How to detect button click in WebView Android?

我试图检测 java 代码中 webview 的 html 按钮点击。

我的HTML代码:

<button id="fc_complete_order_button" class="fc_button" type="button" value="Complete Your Purchase" onclick="FC.checkout.validateAndSubmit()">Complete Your Purchase</button>
<div id="fc_complete_order_processing" style="display:none;">
    <strong class="fc_error"></strong> <br>
    <img src="//cdn.fox.com/static/v/1.1.0/images/ajax-loader.gif?ver=1" alt="Loading..." width="220" height="19">
</div>

我的Java代码是:

final WebView browser = (WebView) findViewById(R.id.browser);

String html="";

try {
    Document doc1 = Jsoup.connect(lastLoadedURL).get();

    html=doc1.toString();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

browser.getSettings().setJavaScriptEnabled(true);

browser.addJavascriptInterface(new Object() {
    @JavascriptInterface
    public void validateAndSubmit() throws Exception {

        Toast.makeText(MainActivity.this, "Login clicked", Toast.LENGTH_LONG).show();
    }
}, "FC.checkout");

任何人都可以指出哪里做错了吗?

我认为 "FC.checkout" 是问题所在。 Google 文档告诉我们 name the name used to expose the object in JavaScript 。在 JavaScript "FC.checkout" 中有 2 个对象: FCcheckout 所以你试图在 FC 对象中创建 checkout 对象,但是 FC 对象不存在浏览器,我想你可以捕获 "object is undefined" 异常。

我不确定,现在无法检查,但我会检查并更新答案。

更新: 假设是正确的。只需在 Java 代码和HTML