1. 程式人生 > >點選回退按鈕重新整理頁面

點選回退按鈕重新整理頁面

瀏覽器使用者返回上一步,自動重新整理
window.onunload=function(){} 這個最簡單粗暴

方式一、
<input type="hidden" id="refreshed" value="no">
<script type="text/javascript">
onload=function(){
var e=document.getElementById("refreshed");
if(e.value=="no")e.value="yes";
else{e.value="no";location.reload();}
}

//ios 由於其回退的機制問題導致js不會去執行,得新增如下寫法
var browserRule = /^.*((iPhone)|(iPad)|(Safari))+.*$/;
if (browserRule.test(navigator.userAgent)) {
    window.onpageshow = function(event) {
        if (event.persisted) {
            window.location.reload()
        }
    };
}
ps:在ios可能出現未知錯誤,在使用微信支付時頁面偶現卡死現象

方式二、
 header("Cache-Control: no-store, must-revalidate, max-age=0");
 header("Pragma: no-cache");
 header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
方式三、
 window.onpageshow = function(event) {if (event.0) {    window.location.reload() }};
方式四、直接在進行頁面跳轉的時候使用window.location.replace()跳轉,直接就沒有了回退問題了


拿來試了下,第一個方法較好,第二個會有一些相容性問題,效果不是很好