1,使用原理
利用history 和 浏览器 刷新popstate状态 去实现
2,判断浏览器是否支持popstate
什么是popstate请点击此链接查看
//那个界面使用,就把代码写到那个界面
mounted(){
// 如果支持 popstate 一般移动端都支持了
if (window.history && window.history.pushState) {
// 往历史记录里面添加一条新的当前页面的url
history.pushState(null, null, document.URL);
// 给 popstate 绑定一个方法 监听页面刷新
window.addEventListener('popstate', this.backChange, false);//false阻止默认事件
}
},
3,记得在页面销毁时候,取消默认事件,否则vue路由也会被监听
destroyed(){
window.removeEventListener('popstate', this.wulifanhui, false);//false阻止默认事件
},
4,下面就可以写自己的物理返回键的函数了
methods:{
wulifanhui() {
const that = this;
//顺便带上
//微信关闭页面 : wx.closeWindow();
//h5返回上一级
//以下方法仅供参考1、返回上一页,不刷新history.html
//window.history.go(-1);
//javascript:window.history.go(-1)
//2、返回上一页并刷新页面
//javascript:location.replace(this.href);event.returnValue=false;
//3、返回上一页并刷新
//self.location=document.referrer
//4、返回上一页面刷新的是自己
//javascript:document.parentWindow.location.reload();
console.log("监听到了");
//vue返回上一级
//this.$router.go(-1)
}