H5 history.pushState 在微信内修改url后点击用safari打开/复制链接是修改之前的页面
解决方案:url参数增加随机参数
function wxRefresh() {
var replaceQueryParam = (param, newval, search) => {
var regex = new RegExp('([?;&])' + param + '[^&;]*[;&]?');
var query = search.replace(regex, '$1').replace(/&$/, '');
return (query.length > 2 ? query + '&' : '?') + (newval ? param + '=' + newval : '');
};
window.location.replace(location.protocol +
'//' +
location.host +
location.pathname +
replaceQueryParam('_wxr_', new Date().getTime(), location.search) +
location.hash);
};
// 执行
wxRefresh();
优化加入refresh,避免重复刷新
share(route) { var replaceQueryParam = (param, newval, search) => { var regex = new RegExp('([?;&])' + param + '[^&;]*[;&]?') var query = search.replace(regex, '$1').replace(/&$/, '') return ( (query.length > 2 ? query + '&' : '?') + (newval ? param + '=' + newval : '') ) } if (!route.query.refresh) { var chat = '&' if (!Object.keys(route.query).length) { chat = '?' } window.location.replace( location.protocol + '//' + location.host + location.pathname + replaceQueryParam('_wxr_', new Date().getTime(), location.search) + location.hash + chat + 'refresh=true' ) } }