webview缓存及跳转时截取url地址、监听页面变化
缓存及一些设定
我在做一些项目时,h5做的项目手机浏览器能使用,但是在搬到webview时候不能用,这个时候通过查阅资料,原来是webview没有设定好,包括缓存、缓存大小及路径等等
mWebview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
mWebview.getSettings().setJavaScriptEnabled(true); mWebview.getSettings().setDomStorageEnabled(true);
mWebview.getSettings().setAppCacheMaxSize(1024 * 1024 * 8);
String appCachePath = mContext.getApplicationContext().getCacheDir()
.getAbsolutePath();
mWebview.getSettings().setAppCachePath(appCachePath);
mWebview.getSettings().setAllowFileAccess(true);
mWebview.getSettings().setAppCacheEnabled(true);
截取跳转地址、监听页面变化
一定要设定WebViewClient,有些时候shouldOverrideUrlLoading会拦截不到url的跳转,后来在onLoadResource中成功拦截,感觉拦截还是onLoadResource好使,onPageStarted、onPageFinished、onReceivedError分别监听页面载入数据的开始、结束、与错误。
mWebview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
System.out.println("跳转Sort:" + url);
}
@Override
public void onLoadResource(WebView view, String url) {
// 分享
if (url.contains("?platformType=0")) {
url = url.substring(0, url.length() - 1) + "1";
view.stopLoading();
view.loadUrl(url);
return;
}
if (url.contains("/webapp/shareCoupon_")
|| url.contains("/webapp/shareRedpacket_")) {
view.stopLoading();
ShareUtils.shareDialog(mContext, url);
return;
}
super.onLoadResource(view, url);
}
});
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
mWebview.setVisibility(View.INVISIBLE);
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}
}
webview缓存及跳转时截取url地址、监听页面变化的更多相关文章
- 页面跳转时,url 传大数据的参数不全的问题+序列化对象
1.页面跳转时,url 传大数据的参数不全的问题 //传参: url: '/pages/testOfPhysical/shareEvaluation?detailInfo=' +encodeURICo ...
- 微信小程序:页面跳转时传递数据到另一个页面
一.功能描述 页面跳转时,同时把当前页面的数据传递给跳转的目标页面,并在跳转后的目标页面进行展示 二.功能实现 1. 代码实现 test1页面 // pages/test1/test1.js Page ...
- 获取经过跳转后的url地址
粗略一算,不写code已经好几个月了. 昨日受兄弟所托,为他写了一个小小的程序. 程序功能: 自动获取跳转后的Url地址 如下图所示: (newUrl.txt为转换后的地址信息...) 实现过程: 每 ...
- 从一个url地址到最终页面渲染完成,发生了什么?
从一个url地址到最终页面渲染完成,发生了什么? 1.DNS 解析 : 将域名地址解析为IP地址 浏览器DNS缓存 系统DNS缓存 路由器DNS缓存 网络运营商DNS缓存 递归搜索: www.baid ...
- mvc 缓存 sqlCacheDependency 监听数据变化
mvc 缓存 对于MVC有Control缓存和Action缓存. 一.Control缓存 Control缓存即是把缓存应用到整个Control上,该Control下的所有Action都会被缓存起来 ...
- onpageshow 监听页面是否是缓存页面
需求:点击A页面跳转至B页面,在B页面点击手机物理回退键或者history.back回退时,需要在A页面判断当前页面是否是回退回来的页面,而不是新加载的.这里用到一个 onpageshow 事件. 定 ...
- Android USB大容量存储时SD卡状态监听(转)
对SD卡状态监听,到现在为止我知道的有两种方式: 1.注册StorageEventListener来监听sd卡状态 StorageEventListener中有onStorageStateChange ...
- Yii2 在模块modules间跳转时,url自动加模块名
如目的地址product/detail, 当前模块是admin, 访问时如果目的url'product/detail',会变成'admin/product/detail'. 解决方法:url改成'/p ...
- JS截取URL地址参数
var url = window.location.search; 截取?r= 后面的参数var url = window.location.href;var urlss= urlssplit('co ...
随机推荐
- 零基础新手学习Java必须知道的市场行情
Java如今的市场不如从前,竞争很大,工资非常高,标准非常高,想要胜任一份高薪的工作不是那么容易,只有掌握最新的行情才能更好的了解Java,才能更好的在这个领取发展,让新手小白了解Java市场行情如下 ...
- [BZOJ3110][ZJOI2013]K大数查询(整体二分)
BZOJ Luogu sol 整体二分,其实很简单的啦. 对所有询问二分一个答案mid,把所有修改操作中数字大于mid的做一个区间覆盖(区间加1) 查询就是区间查询 然后左右分一分即可 注意是第k大 ...
- Spring Boot Actutaur + Telegraf + InFluxDB + Grafana 构建监控平台之应用数据分析
本节将引入完美的granafa仪表板,在上节的基础上,并提出自己的一些监控数据的总结和看法 你可以有一个类似于这个的Dashboard,会引入监控Zimbra协作 本节环境采用的是centos7系统, ...
- Linux解决MySQL-python安装失败问题
使用python的pip直接安装MySQL-python的时候遇到如下报错: Collecting mysql-python Using cached MySQL-python-1.2.5.zip C ...
- Eslint报错整理与解决方法(持续整理)
1.'Unexpected tab character' 字面意思理解呢就是意想不到的制表符,当时出现的时候就是我习惯的使用Tab键去打空格,但是eslint默认不认可Tab,所以解决方法很简单: 在 ...
- GitHub起步---创建第一个项目
---恢复内容开始--- 刚起步学习GitHub,边学边说! {参考教程:http://blog.csdn.net/steven6977/article/details/10567719}这里描述的很 ...
- WordPress彩色背景标签云实现
网上有很多的这种效果,但是却几乎没有什么关于彩色背景标签云的教程,网上讲的基本都是让标签云的字体变成彩色而不是背景,我觉得让字体变成彩色有的标签会看不清楚,而且也没有让背景变成彩色好看.先看看效果: ...
- 原生js实现简单的全屏滚动
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Java设计模式-合成模式
合成模式有时也叫组合模式,对象组合成树形结构以表示"部分-整体"的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性.掌握组合模式的重点是要理解清楚 "部分/ ...
- DOM生成XML文档
import java.io.File; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuil ...