业务中还是会碰见这样的问题的,当我们的上一个新功能的时候,需要下载新版本的app才能使用。
这个时候 如果新功能和老版本中的一些地方冲突的时候,我们就可以通过版本号 进行判断 区别了。
其实 这个 可以让公司的 安卓和IOS开发 约定 webview 的 useragent 进行判断
这个约定可是很重要的哈,
如果我们的版本号每次 第二位最高 不超过 9的话
比如 1.9.9 就是 大版本 1 版本的 最高分支版本
下一个版本就是 2.0.0
那么我们就可以 直接 将版本 号中间的小数点去掉
进行数字比较
但是 一旦 中间 有二位数的版本号
比如 : 1.12.3 和 2.1.1 这个 明显 后面的版本更高, 但是 如果按照数字版本的话 1123 好像比 211更大
其实所以把 保险起见 还是一位一位进行比较吧
function compareVersion(version) {
// let ua = window.navigator.userAgent; // 正常时应该通过这个进行获取
version = version.split('.');
ua = "Android/1.11.2/Mozilla/5.0"; //打个比方 我们的app ua的是这个样子
// 当前版本号
let nowVersion = ua.split('/')[1].split('.');
if(nowVersion[0] < version[0]) return true;
if(nowVersion[1] < version[1]) return true;
if(nowVersion[2] < version[2]) return true;
return false;
}
if(compareVersion('1.11.1')) {
alert('你的版本过低建议升级')
} else {
alert('已经是最新的版本了!');
}
所以说 为了兼容各种情况 最好 还是按照顺序 或者 按照 每一位进行比较呢。
关注我 持续更新 前端知识
一般来说 版本号都是 两个小数点 隔开的 比如 1.2.13, 2.5.62