2012-10-15 110 views
1

之後我怎麼能保存網頁的狀態後按F5。(用PHP或JavaScript)如何保存網頁的狀態F5

我有這個頁面,如果是Ⅱ按下按鈕1, div 1消失,如果再次按下div 1,它會再次出現。 按鈕2具有相同的功能。 有沒有什麼辦法,如果我按下按鈕1(或按鈕2)消失div,然後如果我按F5繼續div1(或div2)隱藏,??

<input type="submit" id="button1" name="button1" value="ID1"><br/> 

    <div id="div1" name="div1"/> 
    <b>Hello1</b><br> 
    <img src="pic1.png" height="100px" width="100px" /> 
    </div> 
<input type="submit" id="button2" name="button2" value="ID2"><br/> 

    <div id="div2" name="div2"/> 
    <b>Hello2</b><br> 
    <img src="pic2.png" height="100px" width="100px" /> 
    </div> 
<script> 
$(document).ready(function(){ 
     $("#button1").toggle(function(){ 
      $("#div1").hide(); 
     }, 
     function(){ 
      $("#div1").show(); 
     }); 
    }); 
    // 
    $(document).ready(function(){ 
     $("#button2").toggle(function(){ 
      $("#div2").hide(); 
     }, 
     function(){ 
      $("#div2").show(); 
     }); 
    }); 
</script> 

由於提前

+0

是有,他們是所謂的客戶端的cookie。 (或者如果你喜歡,html5存儲) – TheZ

+0

你可以將所有的JavaScript包裝在文檔就緒功能中(你不需要兩個) – AlexP

回答

1

本地存儲

當要保存數據的localy量很大,你有另一個機會 - 使用本地存儲(因爲HTML5)。你可以直接使用JavaScript或使用可用的jQuery插件。

例如,使用的TotalStorage:

var scores = new Array(); 
scores.push({'name':'A', points:10}); 
scores.push({'name':'B', points:20}); 
scores.push({'name':'C', points:0}); 
$.totalStorage('scores', scores); 
2

一個方法是使用HTML5歷史這一點。

var state = { div1: true, div2: false }; 
history.pushState(state, 'Page', 'mypage/10'); 
+1

請提及跨瀏覽器的兼容性,這個解決方案不適用於許多舊瀏覽器。 – Undefined

4

那麼Cookies可以做到保存上一個狀態等等。 如果您不確定在所有瀏覽器上都可以使用html5。

+1

是的,你說得對,謝謝你的建議 – Kakitori