Javascript 进度对话框+;对话框
我有一个webview,其中有一个进度对话框,显示:Javascript 进度对话框+;对话框,javascript,android,Javascript,Android,我有一个webview,其中有一个进度对话框,显示: public void onLoadResource (WebView view, String url) { if (progressDialog == null) { progressDialog = new ProgressDialog(activity); progressDialog.setMessage("Loading... "); progressDialog.
public void onLoadResource (WebView view, String url) {
if (progressDialog == null)
{
progressDialog = new ProgressDialog(activity);
progressDialog.setMessage("Loading... ");
progressDialog.show();
}
}
我正在加载的页面有一个由javascript控制的按钮,该按钮有一个对话框:
function confirmation() {
var answer = confirm("Are You sure?")
if (answer) {
alert("No information saved!")
window.history.go(-2);
}
else {
alert("You may hit save to submit information")
}
}
问题是当我按下这个按钮时,什么都没有发生。如果我删除进度对话框。这个按钮功能很好。我补充说
webview.getSettings().setJavaScriptEnabled(true);
但是一点运气都没有。有人遇到过这种情况吗?如何解决它?
ProgressDialog
是“系统模式”,这意味着,当它可见时,它正在从底层的WebView
窃取焦点。因此,按钮单击未被激活。页面上的按钮应该做什么?换句话说,当ProgressDialog
可见时,为什么需要单击它?这是一个取消按钮,如果用户决定不填写表单,它将直接跳到主页。你知道还有别的办法吗?就像让进度对话框出现在第一页,然后永远消失一样。或实现progressbar的另一种方法(正常)。我见过一个人做过类似的事。在他的xml布局中有progressbar(普通),但没有webview。然后他简单地请求WindowFeature(Window.FEATURE\u不确定\u进度);setProgressBarVisibility(真);setContentView(R.layout.prog);其中prog是只有progressbar的布局。如果不完全理解您的代码,很难说,但您可以尝试类似的方法。或者,使用带有ProgressBar
和取消按钮的自定义对话框。如果按下取消按钮,您可以在WebView
ProgressDialog
上调用loadUrl(“javascript:confirmation()”)
,它是“系统模式”,这意味着当它可见时,它正在从底层WebView
窃取焦点。因此,按钮单击未被激活。页面上的按钮应该做什么?换句话说,当ProgressDialog
可见时,为什么需要单击它?这是一个取消按钮,如果用户决定不填写表单,它将直接跳到主页。你知道还有别的办法吗?就像让进度对话框出现在第一页,然后永远消失一样。或实现progressbar的另一种方法(正常)。我见过一个人做过类似的事。在他的xml布局中有progressbar(普通),但没有webview。然后他简单地请求WindowFeature(Window.FEATURE\u不确定\u进度);setProgressBarVisibility(真);setContentView(R.layout.prog);其中prog是只有progressbar的布局。如果不完全理解您的代码,很难说,但您可以尝试类似的方法。或者,使用带有ProgressBar
和取消按钮的自定义对话框。如果按下取消按钮,则可以在WebView
上调用loadUrl(“javascript:confirmation()”)
。