弹出窗口无法打开在webview中?

时间:2014-01-21 11:32:45

标签: android webview popup

我目前正在使用webview,其中在webview中单击某个按钮时会创建Javascript弹出窗口。但它并没有在我的Webview中打开。

我的代码在这里:

wvPayements = (WebView) view.findViewById(R.id.wvPaymentsPage);
    wvPayements.getSettings().setLoadWithOverviewMode(true);
    wvPayements.getSettings().setUseWideViewPort(true);
    wvPayements.getSettings().setSupportZoom(true);
    wvPayements.getSettings().setAllowFileAccess(true);
    wvPayements.getSettings().setJavaScriptEnabled(true);
    wvPayements.getSettings()
            .setJavaScriptCanOpenWindowsAutomatically(true);
    wvPayements.getSettings().setBuiltInZoomControls(true);
    wvPayements.setWebViewClient(new WebViewClient() {

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }

        @Override
        public void onPageFinished(WebView view, final String url) {
            dialog.cancel();
        }
    });
     wvPayements
     .loadUrl("http://192.168.0.114/Parch_ws/testalert.html");

2 个答案:

答案 0 :(得分:5)

这是你的解决方案

您必须提供可以处理警报的Chrome客户端:

应该使用WebChromeClient来获取这些警报,并且可以使用onJsAlert()方法覆盖功能。希望这有帮助!

WebView wv=new WebView(this);   
wv.setWebChromeClient(new WebChromeClient() {
                                    @Override
                                    public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
                                        //Required functionality here
                                        return super.onJsAlert(view, url, message, result);
                                    }
                                });

检查此链接和上次评论,您必须使用WebChromeClient。

http://code.google.com/p/android/issues/detail?id=752

答案 1 :(得分:0)

如果您在不受支持的浏览器上执行ES6,也会发生这种情况。

您始终可以检查支持的版本here