解决vue单页面跳转返回后页面不刷新的问题

一、问题:在vue项目中通过location.href跳转到第三方页面,然后点击浏览器返回按钮回到自己的页面,用nginx起服务页面不刷新,在用node起服务中页面是正常刷新的;

二、产生该问题的原因:微信浏览器对页面进行缓存;

三、解决方案:

1        window.onpageshow = null;
2         window.onpageshow = function(event){
3           location.reload()
4         }
5         window.location.href = ‘https://www.baidu.com‘

四、实现原理:

点击跳转按钮的时候在页面跳转之前先给window绑上一个onpageshow事件,然后跳转第三方页面;点击返回按钮返回到我们的页面的时候页面会执行onpageshow事件让页面强制刷新,这样就完美解决了返回后页面不刷新的问题。

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px "Helvetica Neue" }

原文地址:https://www.cnblogs.com/liuhan0727/p/9969631.html

时间: 2024-11-10 01:36:06

解决vue单页面跳转返回后页面不刷新的问题的相关文章

解决vue单页路由跳转后scrollTop的问题

作为vue的初级使用者,在开发过程中遇到的坑太多了.在看页面的时候发现了页面滚动的问题,当一个页面滚动了,点击页面上的路由调到下一个页面时,跳转后的页面也是滚动的,滚动条并不是在页面的顶部 在我们写路由的时候做个处理,如下: import Vue from 'vue' import Router from 'vue-router' Vue.use(Router); Vue.use(Router) export default new Router({ routes: [ { path: '/',

dedecms自定义表单提交成功如何返回当前页面

dedecms自定义表单提交成功如何返回当前页面 Dedecms是现在比较常用的CMS,利用dedecms建站的朋友们,肯定会做一个提交表单,对于会技术的童鞋来说,做这样一个简单的表单,是很容易的事情dedecms的自定义表单非常的灵活,无论是用户留言.在线报名.信息收集统统都可以通过自定义表单完成. 织梦自带的自定义表单提交过后会自动跳转到网站首页,可还是有很多人希望提交过后,返回当前页面,或者返回是其他的页面,等等;我们会根据自己需要实现的功能不同,而做相应的修改;下面雨田SEOER来吐槽一

解决IOS微信内置浏览器返回后不执行js脚本的问题

在A页面写一个$(function(){}) 后随便点击一个URL跳转到B页面 利用微信内置浏览器 返回键返回到A页面后发现这段JS不执行,后来找到了解决方案 $(function () { var isPageHide = false; window.addEventListener('pageshow', function () { if (isPageHide) { window.location.reload(); } }); window.addEventListener('pageh

alert返回后页面样式丢失

原: Response.Write("<script>window.alert('账号或密码错误,请重新输入!')</script>"); 症状:点击按钮后页面返回,但部分样式丢失 解决: Response.Write("<script>window.alert('账号或密码错误,请重新输入!');window.location.href='userlogin.aspx'</script>");

解决微信H5页面软键盘弹起后页面下方留白的问题(iOS端)

前言:微信H5项目,ios端出现了软键盘输完隐藏后页面不会回弹,下方会有一大块留白 最近微信和ios都有版本升级,不知道是哪边升级造成的,但是经过测试,软键盘收起后,再滚动一下页面,下面的留白就会消失.所以只要在输入完毕后模拟一下这个"滚动"的操作,就能解决问题了. 如果是用vue写的: <input type="text" @blur="fixScroll" placeholder="请输入xxx"/> //me

js页面用定时任务通过AJAX获取后台数据,但是从这个页面跳转到其他页面后,定时任务仍然在定时请求后台

setInterval(function(){//ajax 请求后台数据},1000);这个是A页面的定时器然后我在A页面通过其他请求跳转到其他页面之后后台发现A页面的定时器的那个请求仍然在执行为什么会出现这种情况呢?怎么能让我跳转到其他页面之后定时任务不执行呢? yj327243832 | 浏览 1987 次  2014-08-22 17:26 2014-08-23 11:03 最佳答案 个人感觉如果A页面已经跳转到其他页面,那么那个定时器的请求应该不会再被执行,因为A页面在浏览器中应该已经被

使用iframe框架后的页面跳转时目标页面变为iframe的子页面的问题

<frameset rows="4,200,10,*,120" cols="*" framespacing="0" frameborder="no" border="1" > <frame src=""/> <frame src="<%=practiceInfoSrc %>" id="practiceInfo&quo

js控制页面跳转,清缓存,强制刷新页面

单看标题,必定满脸蒙13. 其实,想表达的仅仅是,在js中通过window.location.href控制页面跳转时,有时会跳转至缓存页面,并没有真正去请求要跳转的地址,导致页面数据未能及时加载刷新. 直奔code... 解决办法: 在HTML中埋入隐藏from,通过js调用from进行请求链接地址 <form id='hidden_submit_info' method="post" enctype="multipart/form-data" action=

解决vue单页面刷新后vuex中数据恢复初始值的问题

思路是页面关闭前将state的数据存储到浏览器缓存里,页面加载时再取出来存到state中 //App.vue created () { if (this.$getLocal("store")) { this.$store.replaceState( Object.assign({}, this.$store.state, this.$getLocal("store", "parse")) ); } window.addEventListener(