Android eclipse webview弹出不显示

时间:2014-05-06 19:25:33

标签: java android eclipse webview

所以我有一个网络应用程序,我使用弹出窗口显示消息,如果某些东西不起作用或只是为了确认某事。我在eclipse上创建了一个简单的Android应用程序,通过Web视图使用我的Web应用程序,我面临的问题是,应用程序内部的Web视图似乎不支持弹出窗口....我是对的还是有没有办法在我的应用程序中显示弹出窗口?这是我用于Web视图的代码。谢谢你提前帮忙。

    wvp = (WebView) findViewById(R.id.webView1);
    wvp.getSettings().setJavaScriptEnabled(true);
    wvp.setWebViewClient(new WebViewClient());
    wvp.setInitialScale(1);
    wvp.getSettings().setBuiltInZoomControls(true);
    wvp.getSettings().setDisplayZoomControls(false);
    wvp.getSettings().setUseWideViewPort(true); 

所以,如果你有同样的问题,那么解决方案归功于ksasq

    wvp = (WebView) findViewById(R.id.webView1);
    wvp.getSettings().setJavaScriptEnabled(true);
    wvp.setWebViewClient(new WebViewClient());
    wvp.setWebChromeClient(new WebChromeClient());
    wvp.setInitialScale(1);
    wvp.getSettings().setBuiltInZoomControls(true);
    wvp.getSettings().setDisplayZoomControls(false);
    wvp.getSettings().setUseWideViewPort(true);
    wvp.getSettings().setSupportMultipleWindows(true);
    wvp.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);

这使得能够显示我所追踪的消息弹出窗口的技巧。享受!

1 个答案:

答案 0 :(得分:2)

您需要做一些事情:

  1. 实施WebChromeClient.onCreateWindow [1]
  2. WebSettings.setSupportMultipleWindows [2]切换为true
  3. 根据新窗口的创建方式,您可能需要启用WebSettings.setJavaScriptCanOpenWindowsAutomatically [3]
  4. [1] http://developer.android.com/reference/android/webkit/WebChromeClient.html#onCreateWindow(android.webkit.WebView,boolean,boolean,android.os.Message)

    [2] http://developer.android.com/reference/android/webkit/WebSettings.html#setSupportMultipleWindows(boolean)

    [3] http://developer.android.com/reference/android/webkit/WebSettings.html#setJavaScriptCanOpenWindowsAutomatically(boolean)