用MUI框架组移动端页面,有些组件里的a标签链接无法跳转,只能用 location.href 来实现。
后来发现在微信环境下 location.href 跳转有问题。
第一次打开的页面通过 location.href 跳转到另一个页面后,无法再通过location.href跳转回来。
比如说我首先打开的是首页a.html,然后点击导航栏通过 location.href 跳转到b.html后,无法在b.html的导航通过 location.href 跳转回首页a.html,其他页面也是,但是其他页面之间跳转一点问题都没有,就是无法跳转回首次载入的a.html页面。查了一下可能是缓存的问题,需要在跳转的url后面加个时间戳,告知浏览器这是一个新的请求。
var ua = navigator.userAgent;
var isWeixin = !!/MicroMessenger/i.test(ua);
var url = "xxx.html";
location.href = isWeixin ? url + "?time=" + (new Date().getTime()) : url;