检测到javascript在webview中按下?

问题描述

| 有谁知道一种方法来检测是否在我的应用程序Webview中按下了以下带有源代码的按钮(代码如下)? 按钮的html来源:
<input id=\"testBtn\" name=\"testBtn\" type=\"button\" value=\"Test Button\" 
class=\"button\" onclick=\"test.run(this.id,\'onclick\');return false;\" 
onkeydown=\"test.run(this.id,\'onkeydown\');return false;\" title=\"Test Button\">
然后烤面包? P.s.我无法更改HTML代码,这不是我的网站     

解决方法

        只需定义您的Javascript接口即可
final class jocJavaScriptInterface {
    jocJavaScriptInterface() {
    }
    String myEvent;
    public void run(int id,String event) { //run method defined into your html.
        this.myEvent = event;
        mHandler.post(new Runnable() {
            public void run() {
        Toast.makeText(getApplicationContext(),myEvent + \" my ButtoN!\",Toast.LENGTH_LONG).show();
            }
        });
    }
}
将Javascript界面​​添加到您的webview
    WebContent.addJavascriptInterface(new jocJavaScriptInterface(),\"test\");        
    WebContent.loadUrl(\"http://www.foo.com/Androidtest.html\"); //load your Page with the button...
    WebSettings webSettings = WebContent.getSettings();
    webSettings.setSavePassword(false);
    webSettings.setSaveFormData(false);
    webSettings.setJavaScriptEnabled(true);
    webSettings.setSupportZoom(true);