網站很多功能都怕遇到user點選瀏覽器的返回上一頁功能,例如前一頁有某功能是需要購過js計算後顯示在容器中的結果數值,像是2*500=1000之類的算式,如果user點選送出後又返回上一頁,input中的數值還會保留,但容器的數值卻歸零(需要觸發計算),如果user又從送出一次表單那寫入的數值一定不正確,最好的解決方法就是當usre返回上一頁後瀏覽器自動更新頁面(同F5),經過許多嘗試後以下方法確實可以解決問題。 假設當前網址為 http://localhost/xoops/modules/test/index.php?op=storedvalue 如果只針對IE事情就簡單了,完全不需要動用到PHP,只需要在樣板貼上 <script type="text/javascript"> if (!!(window.history && history.pushState)){ var $time = (+new Date()); history.pushState({page: 1}, 'title 1', "?op=storedvalue&back="+$time+""); history.state } </script> 這樣進入到http://localhost/xoops/modules/test/index.php?op=storedvalue JS會以時間戳產生back變數值,例如 http://localhost/xoops/modules/test/index.php?op=storedvalue&back=1524612144000 當USER點選返回上一頁時間戳數值會改變,實際上也等於不同的頁面,頁面會更新,但很不幸的, 這方法對於Google Chrome瀏覽器一點用都沒有 ,完全不會刷新頁面...................所以為了能夠讓Google Chrome瀏覽器返回上一頁頁也能自動更新頁面,只好動用到PHP的$_SESSION功能。 方法如下: 在PHP檔案輸出time()時間戳格式 $xoopsTpl->assign( ...