WebSettings webSettings = wvOther.getSettings();
webSettings.setRenderPriority(RenderPriority.HIGH);
if (HttpUtils.isNetworkConnected(this))
{
webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);// 根据cache-control决定是否从网络上取数据。
}
else
{
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);// 只要本地有,无论是否过期,或者no-cache,都使用缓存中的数据
}
wvOther.setWebChromeClient(new MyChromeClient());
// 开启 DOM storage API 功能
webSettings.setDomStorageEnabled(true);
// 开启 database storage API 功能
webSettings.setDatabaseEnabled(true);
String cacheDirPath = getFilesDir().getAbsolutePath() + "/ba/webcache";
// String cacheDirPath =
// getCacheDir().getAbsolutePath()+Constant.APP_DB_DIRNAME;
// 设置数据库缓存路径
webSettings.setDatabasePath(cacheDirPath);
// 设置 Application Caches 缓存目录
webSettings.setAppCachePath(cacheDirPath);
// 开启 Application Caches 功能
webSettings.setAppCacheEnabled(true);
webSettings.setBuiltInZoomControls(false); // 放大缩放按钮
// 如果访问的页面中有JavaScript,则WebView必须设置支持JavaScript
webSettings.setJavaScriptEnabled(true);
// 设置可以支持缩放
webSettings.setSupportZoom(true);
// 扩大比例的缩放
webSettings.setUseWideViewPort(true);
// 自适应屏幕
webSettings.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);
webSettings.setLoadWithOverviewMode(true);
wvOther.loadUrl(slideUrl);
wvOther.setWebViewClient(new WebViewClient()
{
public boolean shouldOverrideUrlLoading(WebView view, String url)
{ // 重写此方法表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边
view.loadUrl(url);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon)
{
super.onPageStarted(view, url, favicon);
mCustomView.showLoadStateView(CustomView.STATE_NONE);
}
@Override
public void onPageFinished(WebView view, String url)
{
super.onPageFinished(view, url);
mCustomView.showLoadStateView(CustomView.STATE_NONE);
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
{
super.onReceivedError(view, errorCode, description, failingUrl);
mCustomView.showLoadStateView(CustomView.STATE_EMPTY);
}
});