https://www.jianshu.com/p/d2f5ae6b4927

回退事件监听

  if(webView.canGoBack()){
   webView.goBack(); // goBack()表示返回WebView
  }else {
   finish();
  }

Android 中webview载入网页总是跳到浏览器

复写shouldOverrideUrlLoading方法

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

加载不出网页内容This request has been blocked; the content must be served over HTTPS.

https://blog.csdn.net/jia635/article/details/70257212

添加设置:

  WebSettings settings = webView.getSettings();
                            settings.setJavaScriptEnabled(true);
                            settings.setDomStorageEnabled(true);
                            settings.setAllowFileAccess(true);
                            settings.setAppCacheEnabled(true);

                            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                                webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
                            }

WebView拦截包括H5内部所有的url

http://www.deiniu.com/article/191250.htm

加载本地html

https://www.jianshu.com/p/6c796944a19f

webView.loadUrl("file:///android_asset/web/index.html");

WebView加载html片段

loadDataWithBaseURL(null, htmlContent, "text/html", "utf-8", null);

开启js调试

//是否允许web浏览器调试
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
WebView.setWebContentsDebuggingEnabled(isDebug());
}

setWebChromeClient(new WebChromeClient() {
            //return true表示允许开启js调试工具,有的手机需要复写这个方法,有的不需要。
            @Override
            public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
                return isDebug();
            }
        });

监听网页加载完毕

//防止自动打开系统浏览器加载
setWebViewClient(new WebViewClient() {
   @Override
   public void onPageStarted(WebView view, String url, Bitmap favicon) {
      if (onPageLoadListener != null) {
onPageLoadListener.onPageStarted(view, url, favicon);
      }
   }

   @Override
   public void onPageFinished(WebView view, String url) {
     if (onPageLoadListener != null) {
onPageLoadListener.onPageFinished(view,url);
     }
   }
});

清理缓存

有时候js明明修改了,但是js的问题依然存在,需要清理一下WebView的缓存。

mCurrentWebView.clearCache(true);

mCurrentWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

无法弹出软键盘的原因及解决办法

下面的地方不可传0

分类: WebView

0 条评论

发表回复

您的电子邮箱地址不会被公开。