好记性不如烂笔头,记录一下接入一个第三方网贷H5遇到的一些问题
- 关于设置UserAgent
User Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。
是什么:它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本,操作系统及版本,浏览器内核,等信息的标识。
什么用:通过这个标识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;例如用手机访问谷歌和电脑访问是不一样的,这些是谷歌根据访问者的UA来判断的。
由于网贷对于风控的一些处理,访问的链接都需要添加UA所以对网页流量进行设置。
webview.getSettings() .setUserAgentString(webview.getSettings() .getUserAgentString()+"; 自定义标记");
- 关于重定向问题GoBack的回无法退问题
由于跳转打开页面重定向了2次,点GoBack的是回不去的,所以就加一个判断
@Override
public void onBackPressed() {
// 获取历史列表
WebBackForwardList mWebBackForwardList = webView
.copyBackForwardList();
// 判断当前历史列表是否最顶端,其实canGoBack已经判断过
if (mWebBackForwardList.getCurrentIndex() > 0) {
// 获取历史列表
String historyUrl = mWebBackForwardList.getItemAtIndex(
mWebBackForwardList.getCurrentIndex() - 1).getUrl();
if (historyUrl.contains(“重定向的页面链接”)) {
this.finish();
}
webView.goBack();
} else {
this.finish();
}
}
感觉不是一种完美的解决方案,但是一时没有想到更好的办法
- 关于一些js无法加载的问题
加载的时候一直无法加载网页,查看日志发现有这么一句话:
Error in mounted hook: "TypeError: Cannot set property 'rootUrl' of null",source:"xxx.js"
查找了下原因发现是需要手动开启DOM
webview.getSettings().setDomStorageEnabled(true);