关于微信“被返回页”在被返回时自动刷新
网上有很多这些文章,但我觉得没一篇真正解决这个问题,倒是能给人一个解决方案的思路,对,就是posState事件。
要解决这个问题也不难,使用history的replaceState属性替换当前网页链接(其实作用是在不增加history长度的基础上,仍然使用当前网面链接不能使用popState,因为它的作用是增加了history的长度,后退时会出错,往往跳不出循环)。
完整代码如下:
$(function() {pushHistory();});function pushHistory() {window.addEventListener("popstate", function(e) { // alert("后退"); self.location.reload();}, false);var state = {title : "",url : "#"};window.history.replaceState(state, "", "#");};
ps:
1.popState事件只有在作用go(-1),back(),forward()等操作时才会触发。
2.重点是self.location.reload();,后退后刷新当前页面。其它人写的文章里缺少这一块,弄的我很是郁闷。
3.微信里在监听到iphone后退事件后会触发popState事件,在PopState事件里执行:self.location.reload();即可刷新后退后的页面。
网站建设过程中,提交页面后我们经常要用到window.history.go(-1)返回上一页,因为页面的缓存功能,我们只能返回上次操作的页面,但在删除等操作中,我们希望实时看到删除项目后的页面,这就要用到同时刷新技术,下面我们总结总结一下常用的几种window.history.go(-1)返回页面后实时刷新技术。
返回上一页代码:
<a href="Javascript:window.history.go(-1)">返回上一页</a>
1.强制载入后刷新一次
我们可以仿照C++中解决头文件重复包含的方法,在C++中利用#ifndef A #define A #endif来解决头文件的重复包含问题同样我们采用如下方式
if(window.name != "bencalie"){location.reload();window.name = "bencalie"; } else{window.name = ""; }
进行载入后强制刷新一次,相信如果你有编程经验一定看的懂的,这里不做解释!
2.禁止缓存,重新载入一次
在前一页头部加上
<meta http-equiv="Expires" CONTENT="0"> <meta http-equiv="Cache-Control" CONTENT="no-cache"> <meta http-equiv="Pragma" CONTENT="no-cache">
或者
<%Response.Buffer=True Response.ExpiresAbsolute=Now()-1 Response.Expires=0 Response.CacheControl="no-cache" %>
都可以实现刷新。
参考:
https://blog.csdn.net/achenyuan/article/details/77769992
https://blog.csdn.net/bcqtt/article/details/51670461
转载于:https://www.cnblogs.com/eedc/p/9371448.html
关于微信“被返回页”在被返回时自动刷新相关推荐
- chrome浏览器多页签唯一关闭时自动注销
chrome浏览器多页签唯一关闭时自动注销 整体思路 多页签唯一思考 探索window对象name的属性 window.name的特征 页签唯一实现 页签间共享信息思考 页签数量的管理实现 监听chr ...
- uniapp微信小程序切换到tabber页面没有自动刷新
前言 通过uni.switchTab跳转到tabber页面比如个人中心页面,更新的数据没有刷新.导致页面的数据还是修改之前的 解决方法 在uni.switchTab()加入回调函数: uni.swit ...
- 微信H5页面,返回上一页面后页面不会自动刷新
最近在做微信公众号中的功能,有发现一个问题,就是微信H5页面中,有时候返回上一页后页面不会自动刷新,这样子就有可能造成页面数据更新不及时 在网上搜索后发现一个解决办法,使用window监听pageSh ...
- 微信小程序中带参数返回上一页的方法总结(三种)
本篇文章给大家带来的内容是关于微信小程序中带参数返回上一页的方法总结(三种),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 方法一 把当前页面数据放入本地缓存( wx.setStor ...
- 控制微信小程序web view的返回按钮
需求:点击web-view页面的左上角返回按钮时,显示弹窗,点击取消或确认后才能返回.(实际上点击返回按钮会直接返回上一页) 解决方法:由于webview使用的是微信浏览器打开的,我们可以使用js的H ...
- wpf 窗口的返回值_如何:获取页函数的返回值
如何:获取页函数的返回值How to: Get the Return Value of a Page Function 03/30/2017 本文内容 本示例显示如何获取页函数的返回值.This ex ...
- 微信公众号使用LocalStorage解决返回缓存问题
微信公众号使用LocalStorage解决返回缓存问题 参考文章: (1)微信公众号使用LocalStorage解决返回缓存问题 (2)https://www.cnblogs.com/conswin/ ...
- vue 微信录音倒计时_vue的微信语音功能,录音+对接口返回amr音频播放-Go语言中文社区...
vue的微信语音功能,录音+对接口返回amr音频播放 最近的新项目需要调用微信的录音功能,但是后台又不给音频转码,无奈之下就踏上了研究前端音频编码器这东西. 参考的GitHub仓库--Recorder ...
- html里怎样返回首页,返回上一页-html页面返回上一页面怎么写
提供3种方法: 1.超链接返回上一页. 返回上一页 2.按钮返回上一页. 3.图片链接返回上一页. [color=#]几秒钟后[/color]自动返回上一页代码:(加入两个head间,表示3秒) fu ...
最新文章
- SIFT 特征检测及匹配
- eclipse运行时出现Unable to execute dex
- Python MyQR
- md是什么类型的文件?怎么打开md文件,Markdown的编写,Markdown转化为html
- LeNet试验(二)权重参数随训练的变化
- Android Databinding学习
- 从源码的角度说说Activity的setContentView的原理
- 已达成计算机的连接数最大值无法再,已达到计算机的连接数最大值,无法再同此远程计算机连接...
- flutter tab选项卡appbar下的选项卡
- 使用 JWT 来保护你的 SpringBoot 应用
- 微商深度揭秘——减肥产品、推广方法
- php架构师生涯一个月总结
- Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next token found char
- QDockWidget标题栏
- python读取fits第三方库_python读取fits文件
- 猎魂觉醒服务器界面不显示角色,猎魂觉醒新人常见问题集合 新人常见问题解决_3DM手游...
- Latex 论文引用
- Tyrion (含示例源码)
- Echarts 坐标轴刻度间隔/全部显示
- mp4视频太大怎么压缩?