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

Kis*_*han 3 android popup webview

我目前正在使用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");
Run Code Online (Sandbox Code Playgroud)

Har*_*dik 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);
                                    }
                                });
Run Code Online (Sandbox Code Playgroud)

检查此链接和最后一条评论,您必须使用WebChromeClient.

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

  • Thnx buddy..你节省了我的时间。 (2认同)