1. 不需要使用 网页授权域名 方式
在进入H5公众号后,利用js 进行刷新一次,然后打个标记
if (window.location.href.indexOf("refresh") === -1) {
var newUrl = window.location.href + "?refresh";
window.location.replace(newUrl);
}
2. 需要使用 网页授权域名 方式
使用网页授权域名,需要做一个操作就是 window.history.replaceState(null, null, window.location.pathname)
不然无法做请求转发,我这边是用nodejs 做的请求转发,所以我们需要稍微修改下
比如你 需要打卡 '/weixinApp' 请求转发到 '/weixinSystem'
let replaceUrl = `${window.location.pathname}`
if (window.location.href.indexOf('weixinSystem') != -1) {
if (window.location.href.indexOf('refresh') === -1) {
var newUrl = window.location.href + '?refresh'
window.location.replace(newUrl)
}
replaceUrl = `${window.location.pathname}${window.location.search}`
window.history.replaceState(null, null, replaceUrl)
} else {
window.history.replaceState(null, null, replaceUrl)
}
上面的意思是在进入转发的路由前,我们还是像之前一样使用 window.history.replaceState(null, null, window.location.pathname)
进入了转发的 '/weixinSystem'的时候我们需要进行刷新操作了,但又要保证标记不被清除,所以我们要写成
window.history.replaceState(null, null, ${window.location.pathname}${window.location.search}
)
我写的请求转发是node版本,也有nginx的,但我没有用,所以没有写
标签:调用,ios,window,href,pathname,location,null,replaceState,wx From: https://www.cnblogs.com/DTCLOUD/p/17174439.html