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
0 条评论