注册

小程序返回上一页面自动刷新

2020-10-21
导读:小程序返回上一页面自动刷新 Java编写WEB程序时,页面应该只是表示的部分,不应该含有任何Java脚本代码,所以主要考虑使用JS来实现这一功能。我们经常...


 小程序返回上一页面自动刷新

  Java编写WEB程序时,页面应该只是表示的部分,不应该含有任何Java脚本代码,所以主要考虑使用JS来实现这一功能。我们经常会碰到返回上一页,但是需要刷新页面上与状态相关的信息,从而避免重复操作,错误信息的弊端。先说两种方法:

  设置页面为不缓存,访问上一次页面就需要重新去服务器获取。
HTML

<pre>
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="0">
</pre>

JAVA

if (request.getProtocol().compareTo("HTTP/1.0") == 0){
response.setHeader("Pragma","no-cache");
}else if (request.getProtocol().compareTo("HTTP/1.1") == 0){
response.setHeader("Cache-Control","no-cache");
}

php

header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

ASP
Response.Buffer = True 
Response.ExpiresAbsolute = Now() - 1 
Response.Expires = 0 
Response.CacheControl = "no-cache" 
Response.AddHeader "Pragma", "No-Cache"

 2. 页面自动重载,在页面第一次运行时执行一次重载。

  此方法稍微有点复杂,HTTP是没有状态的,请求一次页面后下次请求没有什么必然的关系,当然用Seesion可以,这样子给服务器很大的压力,还有一种获取状态的方法就是Cookie。在第一次打开一个页面时,让Cookie存一个值表示这是第一次,然后重载页面后,检测Cookie值是否是第一次,若是则置为非第一次状态。一个简单的实现如下。

var strcookie = document.cookie;
var arrcookie = strcookie.spit("=")
var statuscookie = arrcookie[1];
if(statuscookie == "" || statuscookie == "0"){
//retset flag
document.cookie="statuscookie=1";
}else{
window.location.reload();
document.cookie="statuscookie=0";
}

  如果仅仅是返回上页,不需要刷新,JS可以有很多种写法:

window.history.go(-1)
window.history.back()
window.history.back(-1)

  如果需要刷新,可以有两种写法:

  第一种,返回后重新请求该页面

window.history.go(-1);
window.history.go(0)
//winoow.loaction=window.location

  第二种借助HTTP头信息
window.location.href=document.referrer

重磅推荐:小程序开店目录

第一部分:小商店是什么

第二部分:如何开通一个小商店

第三部分:如何登录小商店

第四部分:开店任务常见问题

第五部分:小商店可以卖什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收货/物流

第九部分:小程序怎么结算

第十部分:小程序客服

第十一部分:电商创业

第十二部分:小程序游戏开发