Javascript在webview上不起作用
我正在开发一个Android应用程序,我很难让javascript正常工作。 以下是我的主要活动代码: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
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);