Javascript在webview上不起作用

Javascript在webview上不起作用,javascript,android,Javascript,Android,我正在开发一个Android应用程序,我很难让javascript正常工作。 以下是我的主要活动代码: protected void onCreate(Bundle savedInstanceState) { Log.i(TAG, "create LocalDialogActivity"); super.onCreate(savedInstanceState); setContentView(R.layout.activity_local

我正在开发一个Android应用程序,我很难让javascript正常工作。 以下是我的主要活动代码:

    protected void onCreate(Bundle savedInstanceState) {
        Log.i(TAG, "create LocalDialogActivity");

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_local_dialog);

        webView = (WebView)findViewById(R.id.local_dialog_webview);
        webView.setWebChromeClient(new WebChromeClient());

        webView.getSettings().setUseWideViewPort(true);
        webView.getSettings().setLoadWithOverviewMode(true);

        webView.getSettings().setSupportZoom(true);
        webView.getSettings().setBuiltInZoomControls(true);
        webView.getSettings().setDisplayZoomControls(false);

        webView.getSettings().setJavaScriptEnabled(true);
           webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);


       }
}

private class WebAppInterface {
           @JavascriptInterface
            public void validate() {
                  //do some action...
            }

        @JavascriptInterface
        public void cancel() {
            //do some actions...
        }
}
以下是我的html代码:

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="../css/style.css">
        <script src="../js/myjavascript.js"></script>
    </head>
    <body>


    <section id="header">   
    </section>


    <section id="buttons">
            <button class="button" id="no" onclick="cancel()">cancel</button>
            <button class="button" id="yes" onclick="validate()">validate</button>
    </section>

    <footer id="footer">
    </footer>
</body>

</html>
接口是我的Android代码中的javascriptInterface

欢迎提出任何想法。

只需添加

webView.getSettings().setDomStorageEnabled(true);

从我对Android webview的使用中,检查您是否处于“默认”缩放级别。例如,如果放大/缩小然后按某个按钮,则不能按该按钮,而是在单击的位置平移缩放

如果这不是您的问题,请尝试以下操作:

检查脚本是否被正确读取。为此,请将
cancel()/validate()
函数添加到HTML的标题中

检查文档是否已完全加载。通过在
window.onload=initialize()处添加类似
function initialize(){alert(“loaded”);}

如果它仍然失败,那么发布您的清单,以及发生错误时的任何日志,以及对webview的引用(使用webview的完整类,或者至少与webview一起使用的所有变量)

webView.getSettings().setDomStorageEnabled(true);