开发微信公众号网页,页面登录成功之后,是禁止再次返回到登录页。
我在页面设置了让禁止跳到登录页,可是在手机上有自带的微信浏览器后退按钮,所以必须要禁止浏览器后退,才能禁止后退到登录页。
刚开始百度,查到了一个vue禁止浏览器后退的插件:vue-prevent-browser-back
首先,npm i vue-prevent-browser-back -save
然后在需要禁止浏览器后退的页面里引入:
1 Vue.component(Navbar.name, Navbar); 2 Vue.component(TabItem.name, TabItem); 3 import preventBack from 'vue-prevent-browser-back';//组件内单独引入 4 export default { 5 name: "main", 6 mixins: [preventBack],//注入 7 data() { 8 return { 9 userId:394, 10 selected:'1', 11 ReSelect:'' 12 }; 13 },
这个插件是可以禁止浏览器后退,但是它有个问题:就是它把你页面里添加的后退操作也给禁止了。这是肯定不行了。
所以这个插件只适用于单页面没有路由返回跳转的页面。
然后我就用了下面的代码,解决了仅仅是禁止浏览器后退,页面内部的返回无影响。在想要禁止浏览器后退的页面加上下面这段代码:
1 mounted(){ 2 //防止页面后退 3 history.pushState(null, null, document.URL); 4 window.addEventListener('popstate', function () { 5 history.pushState(null, null, document.URL); 6 }); 7 this.getProductBrand(0,'',0); 8 9 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗