注冊

小程序返回上一頁面自動刷新

2020-10-21
導讀:小程序返回上一頁面自動刷新 Java編寫WEB程序時,頁面應該只是表示的部分,不應該含有任何Java腳本代碼,所以主要考慮使用JS來實現(xiàn)這一功能。我們經(jīng)常...


 小程序返回上一頁面自動刷新

  Java編寫WEB程序時,頁面應該只是表示的部分,不應該含有任何Java腳本代碼,所以主要考慮使用JS來實現(xiàn)這一功能。我們經(jīng)常會碰到返回上一頁,但是需要刷新頁面上與狀態(tài)相關(guān)的信息,從而避免重復操作,錯誤信息的弊端。先說兩種方法:

  設(shè)置頁面為不緩存,訪問上一次頁面就需要重新去服務器獲取。
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. 頁面自動重載,在頁面第一次運行時執(zhí)行一次重載。

  此方法稍微有點復雜,HTTP是沒有狀態(tài)的,請求一次頁面后下次請求沒有什么必然的關(guān)系,當然用Seesion可以,這樣子給服務器很大的壓力,還有一種獲取狀態(tài)的方法就是Cookie。在第一次打開一個頁面時,讓Cookie存一個值表示這是第一次,然后重載頁面后,檢測Cookie值是否是第一次,若是則置為非第一次狀態(tài)。一個簡單的實現(xiàn)如下。

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小程序特色功能

第七部分:小程序直播

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

第九部分:小程序怎么結(jié)算

第十部分:小程序客服

第十一部分:電商創(chuàng)業(yè)

第十二部分:小程序游戲開發(fā)