WebView中的弹出对话框无法显示,但可以在chrome浏览器中正常工作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebView中的弹出对话框无法显示,但可以在chrome浏览器中正常工作相关的知识,希望对你有一定的参考价值。
在Google Chrome中打开时
使用android WebView时
当我使用Google Chrome浏览器时,它会在当前显示视图上弹出
但是当我使用WebView时,它将转到中心网页,然后向下滚动以显示对话。
我现在应该做什么?
webView.clearCache(true);
webView.clearHistory();
webView.setWebViewClient(new MyBrowser());
webView.getSettings().setjavascriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.getSettings().setLoadsImagesAutomatically(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setSupportZoom(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.setWebContentsDebuggingEnabled(true);
webView.getSettings().setSupportMultipleWindows(true);
webView.getSettings().setDisplayZoomControls(false);
webView.setScrollbarFadingEnabled(false);
webView.setScrollBarStyle(WebView.SCROLLBARS_INSIDE_OVERLAY);
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setInitialScale(100);
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
webView.getSettings().setPluginState(WebSettings.PluginState.ON);
webView.measure(100, 100);
webView.loadDataWithBaseURL("", "<html><BODY><H3>Test</H3></BODY></HTML>","text/html","utf-8","");
webView.addJavascriptInterface(this, "MyApp");
webView.getSettings().setAllowFileAccess(true);
webView.loadUrl(home_url);
WebChromeclient
webView.setWebChromeClient(new WebChromeClient()
public void onProgressChanged(WebView view, int progress)
if(progress < 100 && progressBar.getVisibility() == ProgressBar.GONE)
progressBar.setVisibility(ProgressBar.VISIBLE);
progressBar.setProgress(progress);
if(progress == 100)
progressBar.setVisibility(ProgressBar.GONE);
我尝试使用此弹出窗口的更正,但不起作用
@Override
public boolean onCreateWindow(WebView view, boolean isDialog,
boolean isUserGesture, Message resultMsg)
WebView newWebView = new WebView(Main2Activity.this);
newWebView.getSettings().setJavaScriptEnabled(true);
newWebView.getSettings().setSupportZoom(true);
newWebView.getSettings().setBuiltInZoomControls(true);
newWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
newWebView.getSettings().setSupportMultipleWindows(true);
webView.setScrollbarFadingEnabled(false);
view.addView(newWebView);
WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
transport.setWebView(newWebView);
resultMsg.sendToTarget();
webView.setWebViewClient(new WebViewClient()
@Override
public void onPageFinished(WebView view, String url)
webView.loadUrl("javascript:MyApp.resize(document.body.getBoundingClientRect().height)");
super.onPageFinished(view, url);
);
newWebView.setWebViewClient(new WebViewClient()
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
view.loadUrl(url);
return true;
);
return true;
);
以上是关于WebView中的弹出对话框无法显示,但可以在chrome浏览器中正常工作的主要内容,如果未能解决你的问题,请参考以下文章